반응형
where 절의 mySQL regex
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*999[() -]*999[() -]*9999$';
어떻게 하면 어떤 숫자 형식이나 어떤 숫자에 대해서도 그것을 유효하게 만들 수 있을까요?
407-888-0909
1(408)998-7654
7776654433
876-7788
지금은 1-999-999-999에 대해서만 유효합니다.
용도:
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '^1[() -]*[[:digit:]]{3}[() -]*[[:digit:]]{3}[() -]*[[:digit:]]{4}$';
참조:
공백, 대시, 괄호 등이 있는 데이터베이스에 전화번호를 저장하는 것은 현명하지 않습니다.가장 효율적인 방법은 모든 쓰레기를 간단한 10자리 숫자로 잘라내는 것입니다.이렇게 하면 실제로 숫자를 VARCHAR 대신 INTEGER 기반 열에 저장할 수 있습니다.
SELECT telephone_number
FROM table
WHERE telephone_number REGEXP '[1]?[(]?[[:DIGIT:]]{3}[)]?[-]?[[:DIGIT:]]{3}[-]?[[:DIGIT:]]{4}'
언급URL : https://stackoverflow.com/questions/3452572/mysql-regex-in-the-where-clause
반응형
'prosource' 카테고리의 다른 글
mysql select 쿼리를 사용하여 다음 행의 후속 열의 합계를 가져오는 방법 (0) | 2023.09.10 |
---|---|
MariaDB: default 절에서 함수를 사용하는 방법? (0) | 2023.09.10 |
jQuery를 사용하여 수동으로 양식 유효성 검사 트리거링 (0) | 2023.09.10 |
고유한 결과 SQL 병합 (0) | 2023.09.10 |
Excel VBA: 활성 셀을 굵게 바꾸는 기능 (0) | 2023.09.10 |