SQL - 操作数数据类型varchar对sum运算符无效

时间:2016-10-14 07:03:29

标签: sql sql-server tsql

我正在运行以下查询并获取操作数数据类型varchar对sum运算符错误无效。 accountnature字段是一个varchar字段,但是我将其转换为INT并且我仍然收到错误。

SELECT
    'Qualified' =sum(case when (cast(AccountNature AS Int)) in ('a','b') then '1' end)

from agreement

group by accountnature

对我做错了什么或如何解决的任何想法? 感谢。

2 个答案:

答案 0 :(得分:6)

试试这个:

SELECT
    'Qualified' = sum(case when AccountNature in ('a','b') then 1 ELSE 0 end)
from agreement
group by accountnature

答案 1 :(得分:1)

试试这个:

select [qualified] = sum(case when AccountNature in ('a','b') then 1 else 0 end)
from agreement

您不需要将其强制转换为整数,因为您要与字符进行比较。