我需要从表中的字符串字段获取视图中的布尔字段。如果字符串已填充,则布尔字段应为True
:
SELECT (MasterId IS NOT NULL) AS HasMaster FROM entries
但是,这会导致错误:
关键字' IS'
附近的语法不正确
为什么这样以及如何解决?
答案 0 :(得分:5)
请尝试以下代码:
SELECT CAST(CASE WHEN MasterId IS NULL THEN 0 ELSE 1 END AS BIT) [HasMaster]
FROM entries
答案 1 :(得分:1)
试试这个,
SELECT (CASE WHEN MasterId IS NOT NULL THEN 1 ELSE 0 END) AS HasMaster
FROM entries
SQL Server
中没有布尔值,因此您可以在'0'
表达式中使用'1'
和CASE
。
答案 2 :(得分:-1)
问题:我需要从表格中的字符串字段获取视图中的布尔字段。如果字符串已填充,则布尔字段应为True
答案:使用case
select case when MasterId is null then 0 else 1 end
from table_name