Where 조건 검색시 조건 내용에 %나 _을 쓰려면 어찌 해야 되나요. %와 _는 예약어라서 사용할 수 없네요. _ : 아무개 1글자 %: 아무개글자(0~무한)
~ 연산자가 정규식 연산자 입니다.
정규식에서 %, _ 문자는 일반문자로 취급하니,
이런 문자를 쉽게 찾으려면,
칼럼이름 ~ '%'
또는
칼럼이름 ~ '_'
이런식이면 되겠죠.
답변을 정확하게 이해하지 못했습니다. 그래서 다시 질의문과 함께 질문하겠습니다. -- 테이블 생성문 create table aaa (a1 char(2), primary key (a1)); -- 데이타 삽입 insert into aaa values ('21'); insert into aaa values ('2_'); -- Like 검색 csms_cs=> select * from aaa where a1 like '%_'; a1 ---- 21 2_ (2건 있음) 질문은 저는 '2_' 라는 레코드만 검색하고 싶은데, _는 1개의 문자중 어떠한 문자가 와도 된다는 것으로 알고 있습니다. 그래서 2개의 레코드가 검색되고 있습니다. '2_'만 조회하려면 어떻게 해야 될지 알려주세요.
global=# select '2_' ~ '(.*)_'; ?column? ---------- t (1 row)
Time: 0.393 ms global=# select '21' ~ '(.*)_'; ?column? ---------- f (1 row)
Time: 0.217 ms