소스: sql-src/adv_09_regex/01_regexp_like.sql. 가상의 연락처 테이블 contact(이름, 전화, 이메일, 메모)에 일부러 잘못된 값을 섞었습니다. 하이픈 유무, 공백 구분, 자리 수 오류, @ 두 개, NULL 이 들어 있습니다.
전체 9행입니다.
ID | NAME | PHONE | EMAIL
---+--------+---------------+------------------
1 | 김하나 | 010-1234-5678 | hana@example.com
2 | 이둘 | 01012345678 | dul@example.co.kr
3 | 박셋 | 010-123-4567 | set@example.com
4 | 최넷 | 02-345-6789 | NET@Example.COM
5 | 정다섯 | 010-12345-678 | five@example
6 | 한여섯 | 010 9876 5432 | six@@example.com
7 | 오일곱 | 010-5555-6666 | seven@test.org
8 | 윤여덟 | NULL | eight@example.com
9 | 강아홉 | abc-defg-hijk | nine.example.com
(9행)010 계열 번호로, 하이픈은 있어도 없어도 되고, 가운데 3~4자리, 끝 4자리인 행만 고릅니다.
SELECT
id
, name
, phone
FROM contact
WHERE REGEXP_LIKE(phone, '^01[016789]-?[0-9]{3,4}-?[0-9]{4}