source

열 이름이 숫자로 시작합니까?

factcode 2023. 8. 7. 23:10
반응형

열 이름이 숫자로 시작합니까?

내 테이블 중 하나에 다음과 같은 열 이름이 있습니다.3RD_DIAG_CODE - VARCHAR2 (10 Byte)

쿼리를 실행하려고 하면 다음 오류가 강조 표시됩니다.3RD_DIAG_CODE.

ORA-00923: FROM 키워드를 찾을 수 없습니다.

이 필드를 가져올 때마다 오류를 발생시키지 않고 어떻게 이 필드를 가져올 수 있습니까?

숫자로 시작하는 열 이름을 사용하는 경우 큰따옴표를 사용해야 합니다.예:

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 절에서 쉼표를 누락했을 수 있습니다.

사양을 확인하십시오. 그러나 SQL Server에서는 열 이름을 대괄호로 묶어야 합니다.[3RD_DIAG_CODE]

두 열 사이에 쉼표 없이 나열된 열이 있을 수 있습니다.

create table t (id number primary key, 3d varchar2(30))
Error at Command Line:1 Column:39
Error report:
SQL Error: ORA-00904: : invalid identifier
00904. 00000 -  "%s: invalid identifier"


create table t (id number primary key, "3d" varchar2(30));
table T created.
desc t
Name Null     Type         
---- -------- ------------ 
ID   NOT NULL NUMBER       
3d            VARCHAR2(30) 


> select id, 3d from t --[as @gsiem mentions: THIS IS BAD]
ID                     3D       
---------------------- -------- 

> select id, "3d" from t
ID                     3d                             
---------------------- ------------------------------ 

> select id, [3d] from t

Error starting at line 7 in command:
select id, [3d] from t
Error at Command Line:7 Column:11
Error report:
SQL Error: ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:
> select id 3d from t

Error starting at line 8 in command:
select id 3d from t
Error at Command Line:8 Column:10
Error report:
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

언급URL : https://stackoverflow.com/questions/6114193/column-name-beginning-with-a-number

반응형