【发布时间】:2018-06-24 21:30:02
【问题描述】:
我需要从表中的字符串字段中获取视图中的布尔字段。如果字符串被填充,布尔字段应该是True:
SELECT (MasterId IS NOT NULL) AS HasMaster FROM entries
但是,这会导致错误:
关键字“IS”附近的语法不正确
为什么会这样以及如何解决?
【问题讨论】:
-
你需要通过case表达式来检查。
-
SQL SERVER 没有布尔类型。试试
CASE WHEN blah THEN 1 ELSE 0 END -
尝试谷歌搜索 CASE WHEN 语句
-
T-SQL 有布尔表达式,但这些表达式永远不能用于需要值的地方,只能在条件子句中使用(
IF、WHERE、CASE等)。是的,这是语言的缺陷。
标签: sql sql-server tsql