我收到sql错误
传递给LEFT或SUBSTRING函数的长度参数无效
它似乎来自返回值,长度为14个字符。
我们从Feed中获得的证券的未偿还股票价值。例如,195461597.62 M
之类的值我们正在修剪.62 M
并乘以1000,但是包含14个或更多字符的值会返回传递给LEFT的无效长度参数或SUBSTRING函数错误,但如果我从值中删除一个字符,它运行正常。
此字段设置为DATA_LENGTH
为100,前端应用程序显示的值设置为30个字符,因此不确定哪些错误告诉我。
这是我的SQL:
select udf_char15, (convert(int,(substring(ltrim(rtrim(UDF_CHAR15)),0,len(UDF_CHAR15) - 5)))*1000)
from CSM_SECURITY_CUST
Where UDF_CHAR15 is not null
感谢任何帮助。
答案 0 :(得分:0)
您可以使用小数位置使其与长度无关;
select cast(left(UDF_CHAR15, charindex('.', UDF_CHAR15) - 1) as int)