SQL Server:将bool转换为整数

Man*_*oor 3 sql-server integer boolean type-conversion

为什么查询:

SELECT CAST((column LIKE '%string%') AS INT)+100
Run Code Online (Sandbox Code Playgroud)

返回

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

usr*_*usr 7

因为bool不是T-SQL中的类型.它不存在.布尔表达式不是bit类型.他们不会一个类型-如果允许在某些特殊的地方语法只允许他们.是的,这太糟糕了.

SELECT (case when (column LIKE '%string%') then 1 else 0 end)+100
Run Code Online (Sandbox Code Playgroud)