Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么要查询:
SELECT CAST((column LIKE '%string%') AS INT)+100
返回
关键字“AS”附近的语法不正确
因为 bool 不是 T-SQL 中的类型。它不存在。布尔表达式不是位类型。它们没有类型 - 只有在特殊地方的语法允许时才允许使用它们。是的,这太糟糕了。
SELECT (case when (column LIKE '%string%') then 1 else 0 end)+100
CAST不计算表达式。无论如何,您如何将布尔结果转换为 Int?那永远行不通。@usr 的答案是正确的方法。
CAST