【发布时间】:2013-10-03 01:50:32
【问题描述】:
我需要在多个列上运行CASE 表达式,这些列是布尔值,所以如果它是 0,我需要用列名填充列,如果它是 1,我忽略列/值。然后我需要将所有这些列连接成一个。在 Oracle SQL 中可以做到这一点吗?
我试过了:
Select
||CASE
WHEN COL_A = 0 THEN 'COL_A'
ELSE ''
END||','
||CASE
WHEN COL_B = 0 THEN 'COL_B'
ELSE ''
END||
from ABC.123
这甚至可以做到吗?如果不是这种方式,还有其他方式吗?
【问题讨论】:
-
以上是不是给你报错了?在概念上似乎有效,但我对 oracle 了解不多,我认为只需要
CASE语句之间的||。
标签: sql oracle concatenation case