정규표현식 (REGEXP)
mysql 정규표현식은 크게 다음과 같은 형태로 구성되어있다.
^ 시작
$ 끝
| or와 비슷
[abcd] 해당문자열들이 들어가있는지
[-] 검색하려는 문자열의 범위를 지정해줌
-- '%field%'와 똑같은 구문 field라는 값이 들어간 값을 찾는다.
SELECT *
FROM customers
WHERE last_name REGEXP 'field';
-- last_name의 값이 field로 끝나는 값을 찾는다.
SELECT *
FROM customers
WHERE last_name REGEXP 'field$';
-- last_name의 값이 field로 시작하는 값을 찾는다.
SELECT *
FROM customers
WHERE last_name REGEXP '^field';
-- '%field%' or '%mac%' or '%rose%'와 똑같은 구문.
SELECT *
FROM customers
WHERE last_name REGEXP 'field|mac|rose';
-- 위 구문들과 합쳐서 사용가능
SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose';
-- last_name 필드안에 값들중에 ge, ie, me가 들어가는값들을 검색한다.
SELECT *
FROM customers
WHERE last_name REGEXP '[gim]e';
-- last_name 필드안에 값들중에 ef, em, eq가 들어가는값들을 검색한다.
SELECT *
FROM customers
WHERE last_name REGEXP 'e[fmq]';
-- last_name 필드안에 값들중에 ae,be,ce,de,fe,ge,he가 들어간 값들을 검색한다.
-- [-]값으로 범위를 지정해줌
SELECT *
FROM customers
WHERE last_name REGEXP '[a-h]e';
정규식 사용에 익숙해지면 여러가지 검색조건을 훨씬 다양하고 정확하게 사용 할수 있게된다.
'SQL > mysql' 카테고리의 다른 글
조인 (JOIN @INNER JOIN2) (0) | 2021.02.07 |
---|---|
정렬 및 검색 조건 (IS NULL, ORDER BY, LIMIT) (0) | 2021.02.07 |
WITH ROLLUP (0) | 2017.10.03 |
테이블 복사 (TABLE COPY) (0) | 2017.10.03 |
조인 (JOIN @INNER JOIN) (0) | 2017.09.29 |
댓글
이 글 공유하기
다른 글
-
조인 (JOIN @INNER JOIN2)
조인 (JOIN @INNER JOIN2)
2021.02.07 -
정렬 및 검색 조건 (IS NULL, ORDER BY, LIMIT)
정렬 및 검색 조건 (IS NULL, ORDER BY, LIMIT)
2021.02.07 -
WITH ROLLUP
WITH ROLLUP
2017.10.03 -
테이블 복사 (TABLE COPY)
테이블 복사 (TABLE COPY)
2017.10.03