小编典典

列名以数字开头?

sql

我的一个表中有一个列名: 3RD_DIAG_CODE - VARCHAR2 (10 Byte)

当我尝试运行查询时,它为我提供了以下错误突出显示3RD_DIAG_CODE

ORA-00923:在预期位置找不到FROM关键字。

如何引入该字段,而每次引入该字段时都不会引发错误?


阅读 150

收藏
2021-03-17

共1个答案

小编典典

如果您使用以数字开头的列名,则需要使用双引号。例如:

create table foo (
"3RD_DIAG_CODE" varchar2(10 byte) --make sure you use uppercase for variable name
);

insert into foo values ('abc');
insert into foo values ('def');
insert into foo values ('ghi');
insert into foo values ('jkl');
insert into foo values ('mno');
commit;

select * from foo;

3RD_DIAG_C
----------
abc
def
ghi
jkl
mno

select 3RD_DIAG_CODE from foo;

RD_DIAG_CODE
------------
       3
       3
       3
       3
       3

select "3RD_DIAG_CODE" from foo;

3RD_DIAG_C
----------
abc
def
ghi
jkl
mno

编辑: 对于错误消息本身,您可能(如BQ所写)缺少select子句中的逗号。

2021-03-17