[초보질문] 특정 field select시 해당 field가 없다고 나오는 문제 글쓴이 : droiyan 날짜 : 2016-05-18 (수) 11:14 조회 : 9475 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... " " 없이 나오게 할 수는 없는건가요 ? " "로 묶으니까 나오네요 T T... " " 없이 나오게 할 수는 없는건가요 ? droiyan 2016-05-18 (수) 11:29 구글링 하니 대문자는 " "로 묶으면 소문자로 자동 변환되기 때문에 출력되는거였네요.. 결국 대문자인 field명을 소문자로 다 바꾸는 중입니다. T T.. 구글링 하니 대문자는 " "로 묶으면 소문자로 자동 변환되기 때문에 출력되는거였네요.. 결국 대문자인 field명을 소문자로 다 바꾸는 중입니다. T T.. 주킹 2016-05-18 (수) 12:32 oracle은 기본적으로 대문자이고 postgresql은 기본적으로 소문자이고 ""로 씌우면 ""를 씌워서 검색해야합니다. 소문자로 하시는게 편합니다. 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 를 넣어서 선언하는건 일반적인 방식이 아닙니다. create table x("SuperMan" text); 이런식으로 하지마시고 create table x(superman text); 이렇게 선언하세요 (create table X(SuperMan text); 이렇게 해도 됩니다. 대소문자 구분안하니...) 원래 테이블명 컬럼명은 대소문자를 구분하지 않습니다. 선언할때 테이블명이나 컬럼명에 ".." 를 씌우게 되면 그순간부터 대소문자를 구분하게 됩니다. double quote 를 넣어서 선언하는건 일반적인 방식이 아닙니다.
droiyan 2016-05-18 (수) 11:19 " "로 묶으니까 나오네요 T T... " " 없이 나오게 할 수는 없는건가요 ? " "로 묶으니까 나오네요 T T... " " 없이 나오게 할 수는 없는건가요 ?
droiyan 2016-05-18 (수) 11:29 구글링 하니 대문자는 " "로 묶으면 소문자로 자동 변환되기 때문에 출력되는거였네요.. 결국 대문자인 field명을 소문자로 다 바꾸는 중입니다. T T.. 구글링 하니 대문자는 " "로 묶으면 소문자로 자동 변환되기 때문에 출력되는거였네요.. 결국 대문자인 field명을 소문자로 다 바꾸는 중입니다. T T..
주킹 2016-05-18 (수) 12:32 oracle은 기본적으로 대문자이고 postgresql은 기본적으로 소문자이고 ""로 씌우면 ""를 씌워서 검색해야합니다. 소문자로 하시는게 편합니다. 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 를 넣어서 선언하는건 일반적인 방식이 아닙니다. create table x("SuperMan" text); 이런식으로 하지마시고 create table x(superman text); 이렇게 선언하세요 (create table X(SuperMan text); 이렇게 해도 됩니다. 대소문자 구분안하니...) 원래 테이블명 컬럼명은 대소문자를 구분하지 않습니다. 선언할때 테이블명이나 컬럼명에 ".." 를 씌우게 되면 그순간부터 대소문자를 구분하게 됩니다. double quote 를 넣어서 선언하는건 일반적인 방식이 아닙니다.