database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7690 게시물 읽기
No. 7690
대소문자 구분 없이 Select 하는 법
작성자
박춘삼
작성일
2009-04-16 10:37
조회수
7,344

자꾸만 질문만 해서 죄송합니다.


저장하는 것과 관계 없이 대소문자 구분 없이 조회 할 수 있는 방법이 있나요?


UPPER 함수 사용하는 것 말구요. DBMS Parameter 처리하는 방법이 있을까요?


고언을 부탁 드립니다.


박춘삼

이 글에 대한 댓글이 총 4건 있습니다.

정규표현식 함수를 사용하는 방법이 있습니다.


~* 오퍼레이터


select * from mytable where mycolumn ~* 'abc'


~* 오퍼레이터는 case insensitive 매칭을 합니다.

김영우님이 2009-04-16 11:37에 작성한 댓글입니다. Edit
drop table if exists aa;
create table aa ( a1 int, a2 char(10))
insert into aa values (1,'T');
insert into aa values (2,'t');
insert into aa values (3,'Tt');

select * from aa
where a2 ~* 't' 하면


1   "T         "
2   "t         "
3   "Tt        "

이렇게 나오네요.
제가 원하는것은 'T', 't' 만 나오게 해야 하는데 쿼리를 수정하지 않고 하는 방법이 없을까요?

select * from aa where a2 = 't' 했을때, 'T', 't' 가 나오게요.

감사합니다.
박춘삼님이 2009-04-16 13:09에 작성한 댓글입니다. Edit

제가 설명이 부족했네요.


패턴매칭에서는 정규식이 적용됩니다.


select * from tbl where col1 ~* '^T$'


이렇게 하면, 대소문자 구분없이 'T' 또는 't'인 것만 리턴합니다.


그리고 버전에 상관없으시다면 8.4(현재 베타)에서는 citext가 있습니다.

http://www.depesz.com/index.php/2008/08/10/waiting-for-84-case-insensitive-text-citext/


감사합니다.

김영우님이 2009-04-16 14:32에 작성한 댓글입니다. Edit

select * from aa where a2 ILIKE 't'

최정대(whitekid)님이 2009-05-14 13:48에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7693pl/pgsql api 자료 있는곳을 알려주세요 [2]
치우
2009-04-17
6999
7692한 테이블에 참조영역을 다 집어넣고 서브쿼리로 골라내는 방법에 대한 질문 [5]
성제호
2009-04-17
7316
7691freebsd에서 접속되던 pgpool-II이 솔라리스10에선 접속이 안되고 있습니다.
김태규
2009-04-17
7128
7690대소문자 구분 없이 Select 하는 법 [4]
박춘삼
2009-04-16
7344
7689postgresql 8.4 beta에 대한 글 [1]
열혈지누
2009-04-16
6936
7688패스워드를 항상 8자리로 고정하는 법을 알고 싶습니다. [1]
박춘삼
2009-04-15
6559
7687report designer 사용해보신분 중에서 연결 성공하신분 계시나요? [1]
이기자
2009-04-15
7378
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다