inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

장래쌤과 함께하는 쉽고 재미있는 SQL 이야기

regexp like 에 특정 특수기호 포함

해결된 질문

356

hunter

작성한 질문수 18

1

안녕하세요 강사님!

컬럼에 특수기호 중 + (플러스) 문자가 포함된 값을 찾으려고하는데요

정규식에 해당 기호를 쓰면 오류가 발생하는데 어떻게 해당 문자만 골라 뽑을 수 있을지 질문드립니다 .

sql mysql oracle dbms/rdbms mssql

답변 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
*/

질문해 주셔셔 감사합니다.

1

hunter

감사합니다! 해결했습니다!

간단한 오타 제보입니다.

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