설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 187건, 최근 0 건
   

[초보질문] 특정 field select시 해당 field가 없다고 나오는 문제

글쓴이 : droiyan 날짜 : 2016-05-18 (수) 11:14 조회 : 6346
postgresql을 첨 써서 좌충우돌중입니다.
그리고 DBA도 아닌데 어떻게 하다보니 사용하게 되었습니다.

지금 이상한게 select * from table명  하면 모든 filed가 나오는데
select 특정_field from table명
이런식으로 특정 field만 select하면 해당 필드가 없다고 나옵니다.

그래서 다른 test용 table을 간단하게 만들고 테스트 해봤는데
select * from test  했을때, select 특정_field from test 모두 정상적으로 쿼리가 됩니다.

문제가 생기는 table은 제가 무엇을 잘못해서 저렇게 결과과 나오는 걸까요.. ?
답변 주시는 분께 미리 감사드립니다.

droiyan 2016-05-18 (수) 11:19
" "로 묶으니까 나오네요 T T...
" " 없이 나오게 할 수는 없는건가요 ?
댓글주소
droiyan 2016-05-18 (수) 11:29
구글링 하니 대문자는 " "로 묶으면 소문자로 자동 변환되기 때문에 출력되는거였네요..
결국 대문자인 field명을 소문자로 다 바꾸는 중입니다. T T..
댓글주소
주킹 2016-05-18 (수) 12:32
oracle은 기본적으로 대문자이고

postgresql은 기본적으로 소문자이고 ""로 씌우면 ""를 씌워서 검색해야합니다.

소문자로 하시는게 편합니다.
댓글주소
PostgresDBA 2016-05-18 (수) 12:33
create table x("SuperMan" text); 이런식으로 하지마시고

create table x(superman text); 이렇게 선언하세요
(create table X(SuperMan text); 이렇게 해도 됩니다. 대소문자 구분안하니...)

원래 테이블명 컬럼명은 대소문자를 구분하지 않습니다.
선언할때 테이블명이나 컬럼명에 ".." 를 씌우게 되면 그순간부터 대소문자를 구분하게 됩니다.
double quote 를 넣어서 선언하는건 일반적인 방식이 아닙니다.
댓글주소
   

postgresdba.com