How to set a value to true or false by null check

2019-05-07 10:21发布

问题:

What is the right syntax to return TRUE if the field is not NULL and to return FALSE if it is NULL in TSQL?

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

回答1:

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


回答2:

There is no true or false in mssql. You can use the datatype bit and consider 1 as true and 0 as false:

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


回答3:

For fun:

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


回答4:

int's are cast into true, so:

CAST(ISNULL(int, 0) AS bit)

You can use Length(x) if its a string type