gpt4 book ai didi

mysql - 如何获取为Null的表的列名?

转载 作者:可可西里 更新时间:2023-11-01 08:06:25 25 4
gpt4 key购买 nike

考虑下表

--------------------------------
ID | ColA | ColB | ColC
--------------------------------
1 | ABC | |
2 | | XYZ |
3 | PQR | |
4 | MNO | PQR |

我需要获取 ID = 1 的表的第一个空闲列。我该怎么做

例如:

如果 ID = 1,下一个空闲列是 ColB
如果 ID = 2,下一个空闲列是 ColA
如果 ID = 3,下一个空闲列是 ColB
如果 ID = 4,下一个空闲列是 ColC

最佳答案

如果你想要列的名称,你可以这样做:

SQL> select id, cola, colb, colc,
2 coalesce(nvl2(cola, '', 'COLA'),
nvl2(colb, '', 'COLB'),
nvl2(colc, '', 'COLC')) first_free_col
3 from tab;

ID COL COL COL FIRST_FREE_COL
---------- --- --- --- --------------------------------
1 ABC COLB
2 XYZ COLA
3 PQR COLB
4 MNO PQR COLC

或案例

SQL> select id, cola, colb, colc,
2 case when cola is null then 'COLA'
3 when colb is null then 'COLB'
4 when colc is null then 'COLC'
5 end first_free_col
6 from tab;

ID COL COL COL FIRST_FREE_COL
---------- --- --- --- --------------------------------
1 ABC COLB
2 XYZ COLA
3 PQR COLB
4 MNO PQR COLC

关于mysql - 如何获取为Null的表的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14830487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com