如何为数据库中的多个列赋值 SQL query 与 CASE 声明。当我尝试如下所示,我得到的错误。 select case when 1=1 then 'Y' column1, 'Yes' column2 end from dual; ORA-00905: missing keyword 00905. 00000 - "missing keyword" *Cause: *Action: Error at Line: 24 Column: 31 你能帮忙吗。
SQL> select case when 1 = 1 then 'Y'
2 else 'N'
3 end column1,
4 --
5 case when 1 = 1 then 'Y'
6 else 'N'
7 end column2
8 from dual;
C C
- -
Y Y
SQL>
如果您不想重复,可以使用cte:
SQL> with temp as
2 (select case when 1 = 1 then 'Y'
3 else 'N'
4 end val
5 from dual
6 )
7 select val as column1,
8 val as column2
9 from temp;
C C
- -
Y Y
SQL>
或者,更不用说打字了:
SQL> select val as column1,
2 val as column2
3 from (select decode(1, 1, 'Y', 'N') va
4 from dual);
C C
- -
Y Y
SQL>
3条答案
按热度按时间bmp9r5qi1#
也许你想要:
zzlelutf2#
使用聚合和
WHERE
条款:结果:
或:
结果:
请看演示。
ilmyapht3#
重复上述步骤
case
:如果您不想重复,可以使用cte:
或者,更不用说打字了: