sql - SQL:用唯一值替换多个 Null
问题描述
例如,如果 column1 有一堆描述和多个 NULL,我想用唯一的描述替换每个 NULL。
使用 COALESCE 功能我可以做
COALESCE(Column1,'Description')
这将用“描述”替换列中的每个 NULL,我怎样才能单独处理每个 NULL 而不是用相同的值替换它们?
解决方案
您必须首先决定根据什么条件替换空值。然后您可以使用 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;
推荐阅读
- typescript - 无法在 Firebase 实时数据库中使用 onCreate 事件接收推送通知
- spotfire - Spotfire:如何增加变量以建立评分机制?
- excel - 使用目录从多个工作簿中查找值
- javascript - 如何从字符串中删除 localStorage 值,而不对值进行硬编码?
- python - 使用新键从现有字典创建新字典
- sql-server - sql中的if子句
- r - 基于 R 中金融新闻的股票价格预测与 SVM
- python - Elasticsearch for python - 获取被查询删除的文档
- node.js - 节点检查器不会在断点处停止
- python - 用 NaN 替换熊猫系列中连续零的负值和“块”直到第一个正值