在SO上搜索了又搜索但无法弄清楚
尝试将每个字段铸造为 FLOAT 无济于事,转换并没有让我更进一步
如何让下面的 case 子句返回 THEN 部分中指定的值?
错误:
消息 8114,16 级,状态 5,第 1 行
将数据类型 varchar 转换为 float 时出错。
我的 SQL 查询中导致错误的部分:
When cust_trendd_w_costsv.terms_code like '%[%]%' and (prod.dbo.BTYS2012.average_days_pay) - (substring(cust_trendd_w_costsv.terms_code,3,2)) <= 5 THEN prod.dbo.cust_trendd_w_costsv.terms_code
平均工资天数 = 浮动
术语代码 = 字符
Cheers!
尝试使用ISNUMERIC http://msdn.microsoft.com/en-us/library/aa933213%28v=sql.80%29.aspx处理无法转换的字符串:
When cust_trendd_w_costsv.terms_code like '%[%]%'
and (prod.dbo.BTYS2012.average_days_pay) -
(case when isnumeric(substring(cust_trendd_w_costsv.terms_code,3,2))=1
then cast(substring(cust_trendd_w_costsv.terms_code,3,2) as float)
else 0
end)
<= 5 THEN prod.dbo.cust_trendd_w_costsv.terms_code
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)