如何通过null检查SQL将值设置为true或false?

时间:2011-11-18 12:43:27

标签: tsql null expression

如果字段不为NULL,则返回TRUE的正确语法是什么?如果TSQL中为NULL,则返回FALSE?

SELECT -- here return TRUE if table.Code IS NOT NULL. And FALSE otherwise
FROM table

4 个答案:

答案 0 :(得分:9)

mssql中没有true或false。您可以使用数据类型位,并将1视为true,将0视为false:

SELECT CASE WHEN Code IS NULL THEN CAST(0 AS BIT) ELSE CAST(1 AS BIT) END as Result
FROM table 

答案 1 :(得分:5)

 select case 
           when code IS NULL then 'false'
           else 'true'
        end as result
 from the_table

答案 2 :(得分:3)

为了好玩:

SELECT 
   ISNULL(NULLIF(ISNULL(code,0),code),1) 
FROM table

答案 3 :(得分:1)

int被转换为true,所以:

CAST(ISNULL(int,0)AS位)

如果是字符串类型

,则可以使用长度(x)