안녕하세요.
LIKE문을 다음과 같이 사용하였습니다.
WHERE COL1 LIKE '%[0]%'
하지만 결과는 저의 의도와는 다르게
[0] 뿐만 아니라 [10]도 같이 뿌려주고 있네요.
[0]을 한 덩어리로 보아서 [0]만 뿌려주려면 어떻게 해야할까요.
Comment 7
-
진윤호
2013.08.07 14:13
-
치맥
2013.08.07 14:32
답변 감사합니다.
LIKE문에서 [ 이 와일드카드로 인식이 안되서 [[] 이런식으로 대괄호로 묶으면 와일드로 인식이 안되는데요
[0] 이것에서 [ ] 이것들을 와일드로 인식안되게하려고 대괄호로 묶어봤는데 안되네요 ㅜ.ㅜ
%는 앞뒤로 붙여야 하는 상황이구요.
-
치맥
2013.08.07 14:38
'%[[]0%' 이렇게는 [0 을 검색할수있는데
'%[[]0%[]]' 이렇게는 검색이 안되네용`-`;
-
만덕
2013.08.07 16:14
되어야 할듯한데...
아래 방식으로는 되는군요.
LIKE '%\[0%\]' ESCAPE '\'
-
치맥
2013.08.13 08:38
아^^ 감사합니다~
-
무념
2013.08.07 14:46
col1에서 [0]이 들어간 모든 문장을 표시해 줘야 하는게 아니라면... 하나이상 포함된 col1을 찾는거라면
charindex('[0]',col1) > 0 도 답이긴한데요. like와 비슷한 효과!
표시해줘야 한다 치더라도.. .db단에서 결과값만 위와같이 가져오고
클라이언트 단에서 파싱해도 되지 않으려나여 ^^
조건절을 줄여 효율을 늘리는
COUNT(*) 대체하여 Where 절에 있는 Like/CharIndex 줄이기
http://itzone.tistory.com/282 도 시간되시면 읽어보시길~
-
치맥
2013.08.13 08:37
답변 감사합니다^^
http://www.sqler.com/264055
해당 글을 보면 이해가 쉬울 실 것 같습니다 []가 와일드카드 사용으로 인식된 듯 합니다.
해당 패턴을 제외 시키던가 아니면 %를 뒤에만 붙여 보심이 어떨지 합니다.