替换`0`而不是`NULL` SQL

时间:2016-06-22 03:11:26

标签: sql sql-server

我需要替换0而不是NULL值。我尝试过如下所示。但它没有工作。你能告诉我为什么吗?

  

SELECT REPLACE(a。[BPOAGE],' NULL',0),a。[BPOAttic] FROM   [遗产]。[dbo]。[MyTables]作为

结果:

enter image description here

3 个答案:

答案 0 :(得分:5)

NULL'NULL'不同(一个是缺少值,一个是带字母N,U,L和L的字符串),所以替换它就像那样不起作用。

尝试使用ISNULLCOALESCE运算符。

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