【发布时间】:2018-02-26 16:18:08
【问题描述】:
有一个表格,由几列文本类型组成,例如,
CREATE TABLE SomeTable(
COL1 TEXT,
COL2 TEXT,
COL3 TEXT,
COL4 TEXT,
...)
一行中只有一个不为空,即表中的每条记录如下:
NULL, NULL, NULL, SomeText, NULL, ...
我需要获取第一个非空列的数据和索引吗?
由于标准说“向 null 添加任何内容都会产生 null”, 我正在考虑使用合并函数将列的索引与其数据连接起来
select coalesce('1 ' || COL1, '2 ' || COL2, '3 ' || COL3, ...) col from SomeTable;
有没有更好的方法来完成这项任务?
【问题讨论】:
-
你肯定总是在一列中有数据吗?
-
是的,数据总是在一列中