我需要在视图中选择一个可为空的位列,但只要值为 NULL,就使用默认值 FALSE。(由于其他原因,我无法在源表本身上添加默认值。)这就是我正在做的事情。
CAST
(
CASE
WHEN bit_column IS NULL THEN 0
ELSE bit_column
END
AS BIT
) AS bit_column,
...
我必须在四列上执行此操作,所以我想知道是否有更好/更有效的方法来执行此操作。
我需要在视图中选择一个可为空的位列,但只要值为 NULL,就使用默认值 FALSE。(由于其他原因,我无法在源表本身上添加默认值。)这就是我正在做的事情。
CAST
(
CASE
WHEN bit_column IS NULL THEN 0
ELSE bit_column
END
AS BIT
) AS bit_column,
...
我必须在四列上执行此操作,所以我想知道是否有更好/更有效的方法来执行此操作。
使用 isnull 函数。
isnull(bit_column, 0)
SELECT coalesce(bit_column,0) bit_column
看看Coalesce
对于 T-SQL 使用
SELECT coalesce(bit_column, cast(0 as bit)) bit_column
在一个代码示例中,
, examStatus.text
, COALESCE(examStatus.archived, cast(0 as bit))
如果examStatus.archived 为NULL,它将默认为0(又名false)