select addr_nm -- 생략 -- where addr_num like '%/%%' escape '/';
결과
서울시 여의도% 한화빌딩
여기서 결과가 1개만 나오는데요. 139페이지 addr 테이블에서
%가 포함된 행이 1002, 1003 2개가 출력되어야 하는게 아닌가요?
like '%/%%' escape '/'; 이 의미는 어떤 의미인가요?
안녕하세요.
먼저 꼼꼼히 확인해 주셔서 감사합니다. 질문하신 대로 이 쿼리의 결과는 2건이 나오는 것이 맞습니다.
해설의 결과 표기에 누락이 있었습니다. 아래 정오표를 참고해 주시기 바랍니다.
https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false
like '%/%%' escape '/'의 의미를 설명드리면 다음과 같습니다.
ESCAPE '/'는 역슬래시(/) 뒤에 오는 문자를 와일드카드가 아닌 원래 문자 그대로 인식하라는 지정입니다.
즉 패턴 '%/%%'를 앞에서부터 끊어 보면,
첫 번째 % : 일반 와일드카드(임의의 문자열)
/% : ESCAPE 문자(/) 뒤의 %이므로 와일드카드가 아닌 실제 % 문자를 의미
마지막 % : 다시 일반 와일드카드(임의의 문자열)
정리하면 이 패턴은 '앞뒤에 어떤 문자열이 오든, 문자열 중간에 실제 % 기호를 포함하는 행'을 찾으라는 의미입니다.
따라서 139페이지 addr 테이블에서 실제 %가 포함된 1002, 1003 두 행이 모두 출력되어야 합니다.
-
서*재2026-08-10 07:52:56
안녕하세요.
먼저 꼼꼼히 확인해 주셔서 감사합니다. 질문하신 대로 이 쿼리의 결과는 2건이 나오는 것이 맞습니다.
해설의 결과 표기에 누락이 있었습니다. 아래 정오표를 참고해 주시기 바랍니다.
https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false
like '%/%%' escape '/'의 의미를 설명드리면 다음과 같습니다.
ESCAPE '/'는 역슬래시(/) 뒤에 오는 문자를 와일드카드가 아닌 원래 문자 그대로 인식하라는 지정입니다.
즉 패턴 '%/%%'를 앞에서부터 끊어 보면,
첫 번째 % : 일반 와일드카드(임의의 문자열)
/% : ESCAPE 문자(/) 뒤의 %이므로 와일드카드가 아닌 실제 % 문자를 의미
마지막 % : 다시 일반 와일드카드(임의의 문자열)
정리하면 이 패턴은 '앞뒤에 어떤 문자열이 오든, 문자열 중간에 실제 % 기호를 포함하는 행'을 찾으라는 의미입니다.
따라서 139페이지 addr 테이블에서 실제 %가 포함된 1002, 1003 두 행이 모두 출력되어야 합니다.