【发布时间】:2011-10-18 01:02:52
【问题描述】:
我需要这样的东西:
select (len(someLongTextColumn)=0) as isEmpty;
上面的不行,
还有其他选择吗?
【问题讨论】:
标签: sql-server boolean
我需要这样的东西:
select (len(someLongTextColumn)=0) as isEmpty;
上面的不行,
还有其他选择吗?
【问题讨论】:
标签: sql-server boolean
如果转换为位,那么大多数客户端代码可以直接将其读取为布尔值(SQL Server 没有布尔类型)
SELECT
CAST(
CASE
WHEN len(someLongTextColumn) = 0 THEN 1 ELSE 0
END AS bit
) as isEmpty;
如果你有很多,请使用这样的位变量:Imply bit with constant 1 or 0 in SQL Server
【讨论】:
试试这个。
SELECT (CASE WHEN LEN(SomeLongTextColumn) = 0 THEN 1 ELSE 0 END) AS IsEmtpy
@gbn 对如何返回布尔值有很好的解释。
【讨论】:
SQL 服务器:
SELECT CONVERT(BIT, 1) -- true
SELECT CONVERT(BIT, 0) -- false
【讨论】:
在 MS SQL 2012 及更高版本中,您可以使用 IIF 作为简写:
select IIF(len(someLongTextColumn) = 0, 1, 0) as isEmpty;
【讨论】: