5

为什么要查询:

SELECT CAST((column LIKE '%string%') AS INT)+100

返回

关键字“AS”附近的语法不正确

4

2 回答 2

9

因为 bool 不是 T-SQL 中的类型。它不存在。布尔表达式不是位类型。它们没有类型 - 只有在特殊地方的语法允许时才允许使用它们是的,这太糟糕了。

SELECT (case when (column LIKE '%string%') then 1 else 0 end)+100
于 2013-02-24T20:58:33.847 回答
0

CAST不计算表达式。无论如何,您如何将布尔结果转换为 Int?那永远行不通。@usr 的答案是正确的方法。

于 2013-02-24T20:58:27.183 回答