选择具有默认值的可空位

xce*_*cer 6 sql t-sql sql-server-2000 bit

我需要在视图中选择一个可空的位列,但只要值为NULL,就使用默认值FALSE.(由于其他原因,我无法在源表本身上添加默认值.)以下是我正在做的事情.

CAST 
(
    CASE 
    WHEN bit_column IS NULL THEN 0 
    ELSE bit_column  
END 
    AS BIT
) AS bit_column,
...
Run Code Online (Sandbox Code Playgroud)

我必须在四列上执行此操作,因此我想知道是否有更好/更有效的方法来执行此操作.

spi*_*non 9

使用isnull函数.

isnull(bit_column, 0)
Run Code Online (Sandbox Code Playgroud)


dcp*_*dcp 5

SELECT coalesce(bit_column,0) bit_column
Run Code Online (Sandbox Code Playgroud)

  • `SELECT coalesce(bit_column,cast(0 as bit))bit_column` (4认同)