【问题标题】:SQL: Replacing Multiple Nulls with unique valuesSQL:用唯一值替换多个 Null
【发布时间】:2020-08-03 13:56:18
【问题描述】:

例如,如果 column1 有一堆描述和多个 NULL,我想用唯一的描述替换每个 NULL。

使用 COALESCE 函数我可以做到

COALESCE(Column1,'Description')

这将用“描述”替换列中的每个 NULL,我怎样才能单独处理每个 NULL 而不是用相同的值替换它们?

【问题讨论】:

  • 用什么替换NULLs?你应该描述你想要的逻辑。
  • 只是唯一的字符串值
  • 使用变量。
  • 样本数据和期望的结果确实有助于解释您想要完成的目标。
  • 你想根据什么条件替换

标签: sql null coalesce


【解决方案1】:

您必须首先决定根据什么条件替换空值。然后您可以使用 CASE 来决定每个条件或条件的单独描述。 下面我采用了行号的标准

        WITH data
         AS (SELECT NULL id
             FROM   dual
             UNION ALL
             SELECT NULL
             FROM   dual),
         d1
         AS (SELECT ROWNUM rw,
                    d.*
             FROM   data d)
    SELECT CASE
             WHEN rw = 1 THEN COALESCE(id, 'star')
             ELSE COALESCE(id, 'moon')
           END AS id
    FROM   d1; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    相关资源
    最近更新 更多