복붙노트

[SQL] 밑줄 MySQL의 LIKE 쿼리

SQL

밑줄 MySQL의 LIKE 쿼리

나는 다음과 같은 테이블 이미지를 가지고 :

+----+--------------+
| id |   img_path   |
+----+--------------+
| 1  | abc_1.jpg    |
| 2  | abc_2.jpg    |
| 3  | abcde_1.jpg  |
| 4  | abcde_2.jpg  |
| 5  | abcdef_1.jpg |
+----+--------------+

나는 다음과 같은 쿼리를 사용 그래서 나는 IMG_PATH가 abc_로 시작하는 항목을 선택하고 싶습니다 :

SELECT id FROM images WHERE img_path LIKE 'abc_%'

그러나 그것은 모두 5 개 행을 반환합니다. 어떻게 만 (abc_으로하는 IMG_PATH 시작) 아이디 = 1 & 2를 반환합니까?

해결법

  1. ==============================

    1._ 특수 문자는 것을 발견했다. 백 슬래시로 이스케이프해야합니다.

    _ 특수 문자는 것을 발견했다. 백 슬래시로 이스케이프해야합니다.

    SELECT id FROM images WHERE img_path LIKE 'abc\_%'
    

    예상대로 2 개 행을 반환

  2. from https://stackoverflow.com/questions/22167132/mysql-like-query-with-underscore by cc-by-sa and MIT license