您已创建一个连接整数值的函数 ActualWeightDIMS表示要显示为格式化字符串的实际重量、长度、宽度和高度。但是,当使用 SELECT 语句调用该函数时,您会收到一条错误,指示将 varchar 'x' 转换为整数时转换失败。
该错误源于函数错误的整数连接带字符串的参数。 SQL Server 将整数 (@Actual_Dims_Lenght) 与字符串 ('x') 相加解释为数学运算,从而导致转换错误。
要解决此问题,您在将整数参数与字符串连接之前,需要将它们显式转换为 VARCHAR。以下是您应该如何修改函数的方法:
SET @ActualWeightDIMS = CAST(@Actual_Dims_Lenght AS VARCHAR(16)) + 'x' + CAST(@Actual_Dims_Width AS VARCHAR(16)) + 'x' + CAST(@Actual_Dims_Height AS VARCHAR(16))
通过将整数参数转换为 VARCHAR,您可以确保该操作被视为字符串连接,从而产生所需的格式化输出。
您提到用户只能在 ASP.net 页面上选择重量或尺寸。您询问是否需要在 SQL 端处理此验证。虽然这不是绝对必要的,但它可以提供额外的安全层。您可以在数据库中添加 CHECK 约束,以确保当用户选择维度时,所有三个维度值(长度、宽度和高度)均为非 NULL。这将防止函数返回不正确或不完整的结果。
以上是如何在T-SQL中正确连接数字和字符串以格式化数字?的详细内容。更多信息请关注PHP中文网其他相关文章!