【问题标题】:how to replace blank & NULL in SELECT如何在 SELECT 中替换空白和 NULL
【发布时间】:2020-01-27 13:50:21
【问题描述】:

请让我问一下如何在 SELECT 中替换空白和 NULL 值。 我有一个由 VARCHAR 定义的列,如下所示。它在某行中有空白和 NULL 值。如何在 SELECT 中同时替换空白和 NULL?

Replacing NULL with 0 in a SQL server query -> 这个帖子回答了只替换 NULL

col1
------------
abc
------------
def
------------
NULL         <<<<<<<<<< NULL
------------
ghi
------------
             <<<<<<<<<< Blank
------------
jkl

【问题讨论】:

  • 请标记您使用的数据库引擎

标签: sql sql-server


【解决方案1】:

您可以使用case 表达式或nullif()。像这样的:

select coalesce(nullif(col, ''), <replacement value>) as col

如果逻辑更复杂——比如空格字符串——那么case更简单:

select (case when col is null or replace(col, ' ') = '' 
             then <replacement value>
             else col
        end) as col

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多