728x90
데이터베이스를 사용하다 보면 컬럼명 지정에 제한이 있습니다.
컬럼명 맨 앞에 숫자가 온다거나(0~9), 특수문자로 지정할 경우 오류가 나며 테이블 생성이 되지 않습니다.
굳이 숫자나 특수문자로 사용할 이유는 없지만 필요할 경우를 위해 방법을 정리합니다.
목차(Contents)
오류발생 내용
테이블 생성 시 컬럼명을 숫자로 지정하면 다음과 같이 오류메시지가 발생합니다.
특수문자로 지정할 경우에도 동일한 오류가 나타납니다.
CREATE TABLE TEST_TABLE(
Seq INT,
Name NVARCHAR(100),
1 INT,
2 INT,
3 INT,
Remark NVARCHAR(100)
)
해결방법
이런 경우에는 다음과 같이 컬럼명을 '['와 ']'로 감싸주면 등록이 가능합니다.
CREATE TABLE TEST_TABLE(
Seq INT,
Name NVARCHAR(100),
[1] INT,
[2] INT,
[3] INT,
Remark NVARCHAR(100)
)
테이블 생성 후 SELECT 문을 실행하면 위와 같이 잘 나오는 것을 볼 수 있습니다.
하지만, 테이블을 이렇게 만들면 데이터 INSERT를 실행할 때도 컬럼명을 []로 감싸야 합니다.
귀찮아서 캡쳐해서 올렸습니다..ㅎㅎ
그리고 SELECT 시에도 컬럼명을 지정할 경우 Alias에 []를 지정하여야 컬럼명이 표시됩니다.
지정하지 않아도 오류는 발생하지 않지만 컬럼명이 사라지는 불상사가 발생합니다.
하면 할 수록 컬럼명에 왜 금지어를 썼는지 후회가 되네요..
컬럼명칭은 숫자랑 특수문자, 시스템예약어는 사용하지 말아야겠습니다.
추가로 MSSQL에서는 []로 감싸서 SELECT가 가능하고,
오라클에서는 쌍타옴표(")로 감싸면 컬럼명칭을 표현 가능합니다.
결론. "시스템이 하지말라는건 하지말자" 입니다..
반응형
'IT테크 > DB' 카테고리의 다른 글
[DB] 스토어드 프로시져(SP) 최종 수정정보 확인방법 (0) | 2024.12.31 |
---|---|
[MSSQL] 컬럼추가, 컬럼삭제, 테이블 데이터 갯수 확인 (0) | 2024.10.30 |
[DB]MSSQL SSMS 입력 시 자꾸 다른 문자로 변환될 때(한글 혹은 반자) (0) | 2023.10.27 |
[MSSQL] 자주 쓰는 단축키 지정, 모음 (0) | 2023.08.24 |
[MS-SQL] 컬럼 합치는 방법 3가지(STUFF, STRING_AGG) (0) | 2022.12.27 |