我通过一个 pivot 语句创建了一个表,它会自动创建一些以数字开头的变量名。
create table MYTAB as
select *
from (select x, anno, v, delta from tab_a13_2 where anno in(2017,2018,2019))
pivot(sum(v) as v, sum(delta) as d for anno in (2017,2018,2019))
where ordine > 0
order by ordine;
select * from MYTAB;
x 2017_V 2017_D 2018_V 2018_D 2019_V 2019_D
1 1.01 -3.18 1.04 11.18 0.96 -6.87
2 1.28 0.09 1.28 7.33 1.25 -1.49
...
但是,如果我尝试在选择中指定列名,则会收到此错误:
select x,
2017_V, 2018_V, 2019_V,
2017_D, 2018_D, 2019_D
from MYTAB;
Error at line 5:
ORA-00911: invalid character
2017_V, 2018_V, 2019_V,
^
1 statement failed.
我不明白。要么我不允许创建以数字开头的列名,因此表创建应该失败,或者我应该能够使用它们。我检查了列名没有被引用,即'2017_V'。