Sql server 无法将varchar转换为数值
查询: 错误: Itembar:varchar错误;无法将varchar转换为数值Sql server 无法将varchar转换为数值,sql-server,sql-server-2012,Sql Server,Sql Server 2012,查询: 错误: Itembar:varchar错误;无法将varchar转换为数值 我尝试了cast函数,但它不起作用。。请建议在SQL Server 2012+中使用,以避免转换数据时出错。如果有任何错误,这些函数将返回NULL 例如,我们可以做什么 Select case when itembar > 1.0 then 'yes' else 'no' end from table 但正如@gu
我尝试了cast函数,但它不起作用。。请建议在SQL Server 2012+中使用,以避免转换数据时出错。如果有任何错误,这些函数将返回
NULL
例如,我们可以做什么
Select
case
when itembar > 1.0
then 'yes'
else 'no'
end
from
table
但正如@gurvinder所建议的,如果您的数据都是数字,那么将其类型更改为任何数字类型:decimal、int、.。尝试使用 查询:
Select case when TRY_CAST(itembar as decimal(10,2)) > 1.0 then 'yes' else 'no' end
from table
Select case when TRY_CONVERT(decimal(10,2), itembar) > 1.0 then 'yes' else 'no' end
from table
如果列itembar包含数字数据,为什么它是varchar类型?如果系统由于转换数据类型的问题而引发错误,那么显式转换并不能解决问题。它仍然会有完全相同的问题。
DECLARE @itembar varchar(100) = '2567.43'
Select
case
when cast(@itembar as decimal(18,4))>1.0
then 'yes'
else 'no'
end