포스트 그레스를 설치하고 테이블들을 생성했는데요. 전 대문자로 생성했건만 생성된 테이블명과 칼럼들은 소문자로 나오네요. 제가 자바로 프로그램하기 때문에 ResultSetMetaData를 이용할일이 있는데요. 거기서 alias를 줘도
다 소문자로 나오구요.
이거 설치할때 어떻케 구분할수는 없는건가요?
고수님들의 가르침을 부탁드립니다.
어느 SQL이든 대소문자구분이 없음니다.
자바프로그램에서 강제로 대소문자 변환시켜 사용하시면 될탠데요.
쩝... 대소문자 인식하도록 하는 간단한 방법은 테이블 생성시에 테이블명과 칼럼 명을 모두 겹따옴표(") 로 둘러 싸면 됩니다. 즉,
create table "영어 대소문자 Abc 구별" (
"이것은 한글" text,
"Abc", text
"한문과 , 도 될 걸", text
)
위와 같이 생성한 후에 SELECT 문도 똑 같이 " 로 둘러 싸야 합니다. 않그러면 그런 테이블이나 칼럼이 없다고 합니다. 즉
select * from "영어 대소문자 Abc 구별";
칼럼도 역시 " 로 둘러싸야 합니다.
어우 그렇군요.
따옴표를 그냥 식별하기 좋으라고 붙이는줄로만 알았느데..
근데 따옴표쓸때 좀까다롭네요
gau=# create table "BB"( a int);
CREATE
gau=# select * from bb;
ERROR: Relation "bb" does not exist
gau=# select * from BB;
gau=# select * from "BB";
a
---
(0 rows)
gau=# create table CC(a int,B int);
gau=# select * from CC;
a | b
---+---
gau=# select * from cc;
gau=# select "B" from CC;
ERROR: Attribute 'B' not found
gau=# select B from CC;
b
위처럼 실제 저장될때 따옴포를붙혀만들때와 그냥만들때 서로 다른가요?
따옴표 없는 칼럼과 테이블은 모두 소문자로만 됩니다. 그러니 따옴표로 생성한 테이블이나 칼럼은 무조건 따옴표 처리를 해주어야 합니다.