【发布时间】:2018-04-11 02:29:14
【问题描述】:
我有一个包含 50 多列的表,我正在尝试选择所有列,但我想向其中添加 case 语句的一列除外,我尝试这样做
Select A.*,Case when COLUMN1 THEN end as XX from TABLE A,
但这会导致 COLUMN1 在 * 结果和 case 条件下重复两次,有没有办法从 select * 结果中排除此列?还是我必须输入每个列的名称并将 case 语句添加到该特定列?
非常感谢您的帮助。
【问题讨论】:
-
无法使用简单的
SELECT排除列。 -
是的,使用 Oracle 18c PTF 你可以实现它SELECT * EXCEPT 和示例
skip by name -
@lad2025 只需首先编写一个多态表函数,对于想要编写一个跳过一列的即席查询的人来说,这肯定是一个不平凡的步骤。看起来实际的
select * except语法仍然是一个遥远的梦想。 -
@WilliamRobertson 不那么遥远BigQuery SELECT * EXCEPT。不幸的是,Oracle 没有直接的等价物