如何在条件评估期间从查询中返回布尔值?

she*_*iel 10 sql-server boolean

我需要这样的东西:

select (len(someLongTextColumn)=0) as isEmpty;
Run Code Online (Sandbox Code Playgroud)

以上不起作用,

任何替代品?

gbn*_*gbn 18

如果你转换为bit,那么大多数客户端代码可以直接读取它为boolean(SQL Server没有布尔类型)

SELECT
    CAST(
        CASE
           WHEN len(someLongTextColumn) = 0 THEN 1 ELSE 0
        END AS bit
        ) as isEmpty;
Run Code Online (Sandbox Code Playgroud)

如果您有多个一起使用,请使用这样的位变量:在SQL Server中使用常量为1或0的位


小智 11

试试这个.

SELECT (CASE WHEN LEN(SomeLongTextColumn) = 0 THEN 1 ELSE 0 END) AS IsEmtpy
Run Code Online (Sandbox Code Playgroud)

@gbn对如何返回布尔值有很好的解释.