해결된 질문
작성
·
145
1
안녕하세요 강사님!
컬럼에 특수기호 중 + (플러스) 문자가 포함된 값을 찾으려고하는데요
정규식에 해당 기호를 쓰면 오류가 발생하는데 어떻게 해당 문자만 골라 뽑을 수 있을지 질문드립니다 .
답변 1
0
안녕하세요?
더하기 (+) 기호는 정규식에서 바로 앞에 있는 문자가 하나 이상 반복됨을 의미하는 역할을 갖습니다. 그래서 문자열에서 + 기호를 찾으려면 '\+' 대신에 '\\+' 로 적어야 합니다. 슬래쉬 두 개를 사용해 + 가 일반 문자열임을 지정하는 것입니다. 제가 작성한 다음 예제 코드를 참고하시기 합니다.
CREATE TABLE test (
col1 int,
col2 varchar(20)
);
INSERT INTO test VALUES(1, '-ABC');
INSERT INTO test VALUES(2, 'A+BC');
INSERT INTO test VALUES(3, '+ABC');
INSERT INTO test VALUES(4, 'ABC+');
INSERT INTO test VALUES(5, 'A+=BC');
INSERT INTO test VALUES(6, 'A*BC');
SELECT *
FROM test
WHERE col2 REGEXP '\+';
/*
Error Code: 3688. Syntax error in regular expression on line 1, character 1.
*/
SELECT *
FROM test
WHERE col2 REGEXP '\\+';
/*
col1 col2
----------------
2 A+BC
3 +ABC
4 ABC+
5 A+=BC
*/
질문해 주셔셔 감사합니다.
감사합니다! 해결했습니다!