SQL#정규표현식

codataffee·2024년 4월 25일
0

SQL

목록 보기
7/19
post-thumbnail

#정규표현식


#정규표현식이란?

  • 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어
  • 문자열을 처리하는 방법 중의 하나, 특정한 조건의 문자를 ‘검색’하거나,
    ‘치환’하는 과정을 매우 간편하게 처리할 수 있도록 해주는 수단이다.
  • 정규 표현식은 SQL부터 스크립트 언어까지 다양한 곳에서 활용할 수 있다.

#PATTERN

- MATCHING

- NUMBERS LIMIT

- STRING GRUOP

- NOT


#정규표현식 활용

  1. LIKE 함수 예시
SELECT nickname, 
       birthday, 
       email
FROM user_table
WHERE nickname LIKE '데이터'
- LIKE 함수를 활용해서는 단 하나의 조건만을 설정할 수 있다.
- 닉네임이 '데이터' 이외에 '꿈' 이나 '나무' 를 함께 보려면 LIKE 를 사용하기 어렵다.
  1. IN 함수 예시
SELECT nickname, 
       birthday, 
       email
FROM user_table
WHERE nickname IN ('데이터', '꿈', '나무')
- IN 함수를 통해 많은 조건으로 원하는 데이터를 얻을 수 있다.
- 하지만 LIKE 함수처럼 특정 문자를 포함한 글자를 추출하는 '%' 를 사용할 수 없다.
- IN 은 '%'를 붙일 경우 조회되지 않는다.
  1. 정규표현식 REGEXP
SELECT nickname, 
       birthday, 
       email
FROM user_table
WHERE nickname REGEXP '데% | 나%'
- REGEXP를 사용하면 위처럼 닉네임이 '데' 로 시작하거나 '나'로 시작하는 데이터를 추출할 수 있다.
- REGEXP를 사용할 때 유의사항은 IN의 경우 2개 이상의 조건일 경우 콤마(,)로 구분하지만,
  REGEXP는 수직선(|) 으로 구분한다는 점이다.
  
      •  
-- REGEXP + REPLACE
WHERE nickname REGEXP REPLACE("{{닉네임}}", "," , "|")
- 만약 SQL을 활용해 대시보드를 만들 때, 필터 설정에서 쉼표로 구분자를 준다면 변경이 필요하다.(위 쿼리 참고)

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보