我需要替换0
而不是NULL
值。我尝试过如下所示。但它没有工作。你能告诉我为什么吗?
SELECT REPLACE(a。[BPOAGE],' NULL',0),a。[BPOAttic] FROM [遗产]。[dbo]。[MyTables]作为
结果:
答案 0 :(得分:5)
NULL
与'NULL'
不同(一个是缺少值,一个是带字母N,U,L和L的字符串),所以替换它就像那样不起作用。
尝试使用ISNULL
或COALESCE
运算符。
SELECT ISNULL(a.[BPOAGE], 0) AS BPOAGE
, a.[BPOAttic]
FROM [Legacy].[dbo].[MyTables] as a
答案 1 :(得分:1)
您还可以选择使用Case Statement
。
SELECT CASE WHEN a.[BPOAGE] IS NULL THEN 0
ELSE a.[BPOAGE] END AS BPOAGE,
a.[BPOAttic]
FROM [Legacy].[dbo].[MyTables] as a
答案 2 :(得分:0)
您还可以使用COALESCE
执行与ISNULL
相同的操作。
SELECT COALESCE(a.[BPOAGE], 0) AS BPOAGE,
a.[BPOAttic]
FROM [Legacy].[dbo].[MyTables] as a