7

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

CAST 
(
    CASE 
    WHEN bit_column IS NULL THEN 0 
    ELSE bit_column  
END 
    AS BIT
) AS bit_column,
...

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

4

4 回答 4

10

使用 isnull 函数。

isnull(bit_column, 0)
于 2010-07-27T18:47:29.617 回答
5
SELECT coalesce(bit_column,0) bit_column
于 2010-07-27T18:47:30.363 回答
0

看看Coalesce

于 2010-07-27T18:48:35.620 回答
0

对于 T-SQL 使用

SELECT coalesce(bit_column, cast(0 as bit)) bit_column

在一个代码示例中,

 , examStatus.text
 , COALESCE(examStatus.archived, cast(0 as bit))

如果exam​​Status.archived 为NULL,它将默认为0(又名false)

于 2021-12-27T20:39:37.077 回答