regexp like 에 특정 특수기호 포함
안녕하세요 강사님!
컬럼에 특수기호 중 + (플러스) 문자가 포함된 값을 찾으려고하는데요
정규식에 해당 기호를 쓰면 오류가 발생하는데 어떻게 해당 문자만 골라 뽑을 수 있을지 질문드립니다 .
답변 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
*/질문해 주셔셔 감사합니다.
간단한 오타 제보입니다.
0
3
0
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
19
1
실제 FK제약조건을 설정하지 않는이유
0
19
1
create view
0
121
2
json 배열 파싱
0
185
2
insert into 구문
0
171
2
PDF 자료 문의
0
140
2
집계 연산자에 대한 질문
0
125
1
array_agg 배열 해제
0
196
2
null 수강 관련 문의
0
108
1
테이블 생성 후 조건 수정 방법
0
265
2
주차별 데이터에서 전 주 데이터 가져오기
0
180
1
여러 컬럼 중 null값이 아닌 값 가져오기
0
428
1
누적 백분위 구하기 질문
0
731
1
Join 질문
0
174
1
pdf 문의드립니다
1
188
1
컬럼 안 공백 문자열 제외
1
226
1
USING 조인 질문드립니다.
0
312
2
JOIN함수 질문입니다.
1
261
1
ELT 함수와 FIELD함수 질문입니다.
0
313
1
뷰 변경 질문입니다.
0
335
2
[질문] 3. '다양한 데이터 집계 _ 심각할 수 있는 집계 함수와 NULL값의 관계' 수업 내용 질문
0
224
1
대문자 질문입니다!
0
206
1
mysql 설치 오류로 학습 불가
0
234
1





