代码之家  ›  专栏  ›  技术社区  ›  Ari

如何替换SQL表中的空值?

  •  0
  • Ari  · 技术社区  · 6 年前

    我有一张桌子 dbo.People 在数据库中,其中一列是 Name . 但是,有些字段缺少名称值。所以我试着用 No Name . 还有一个 ID 带值的列 1, 2, 3, 4, 等等。

    SELECT ISNULL(Name, 'No Name') FROM dbo.People;
    

    SELECT COUNT(ID), Name
    FROM dbo.People
    GROUP BY Name;
    

    没有名字 .

    3 回复  |  直到 6 年前
        1
  •  4
  •   Ari    6 年前

    多亏了Squirrel和其他评论员,我才意识到我输入查询的方式是使它成为两个独立的查询。

    SELECT COUNT(ID), ISNULL(Name, 'No Name')
    FROM dbo.People
    GROUP BY Name;
    
        2
  •  3
  •   Zaynul Abadin Tuhin    6 年前

    select sum(case when name='No Name' then 1 else 0 end) as cnt,name from
    (
     SELECT coalesce(Name, 'No Name' ) as name
     FROM dbo.People
    ) t group by name
    
        3
  •  0
  •   user1694674    6 年前

    你只想得到空值吗?

    SELECT Count(ID) 
    FROM dbo.People 
    WHERE Name IS NULL