mysql에서 정규표현식은 크게 2가지로 나뉩니다. 결국 검색용으로 정규식을 쓸것인지 조회값을 변경하기 위해 쓸것인지로 보면 되겠죠 1. regexp_replace DELIMITER $$ RETURNS VARCHAR(1000) function 이름과 값 할당 순서를 잘 봐야 됩니다.
2. regexp_like REGEXP_INSTR, REGEXP_SUBSTR 함수도 있지만 가장 많이 사용하는 정규식 replace 구문과 정규식 검색 부분만 설명 하였습니다. regexp 란? like 검색과는 달리 정규식을 이용한 검색 방식을 말한다. regexp 를 이용한 검색의 예제 select * from test where name regexp '가|나|다|라' select * from test where name regexp '[가-힇]' select * from test where name regexp '^[가-힇]+$'
regexp 정규식 기호에 대한 간단한 소개 * 참고사항 MySQL 에서 정규식을 접목하여 검색하면 OR 검색조건 작성이 심플해진다. <?php select * from test where eng regexp 'do?'; // ?는 마지막 글자가 0 또는 1개 일치 : d 또는 do가 일치 select * from test where eng regexp '^I'; // 첫글자가 I로 시작되는 문장을 찾아라 select * from test where eng regexp '^I\''; // 첫글자가 I'로 시작되는 문장을 찾아라 SELECT * FROM test WHERE col1 REGEXP '^[0-9]+$'; // 숫자로만 된 것을 찾아라 SELECT * FROM test WHERE col1 REGEXP '^[[:digit:]]+$'; // 숫자로만 된 것을 찾아라
SELECT * FROM test WHERE length(col1) > 0 and col1 NOT REGEXP '^[0-9]+$'; // 숫자 제외하고 찾아라 SELECT * FROM test WHERE col1 REGEXP '[0-9]+'; // 숫자와 문자를 포함하는 것을 찾아라 |