728x90
320x100
SUBSTRING_INDEX(문자열, 구분자, 구분자index)
해당 문자열 에서 구분자를 기준으로 구분자index 만큼 문자열을 가져옵니다.
SELECT SUBSTRING_INDEX('02-3333-3333', '-', 1) ;
▶ 결과 : '02'
SELECT SUBSTRING_INDEX('02-3333-3333', '-', 2) ;
▶ 결과 : '02-3333'
SELECT SUBSTRING_INDEX('02-3333-3333', '-', 3) ;
▶ 결과 : '02-3333-3333'
구분자index 가 음수일 경우에는 뒷부분부터 가져옵니다.
SELECT SUBSTRING_INDEX('02-3333-3333', '-', -1) ;
▶ 결과 : '3333'
SELECT SUBSTRING_INDEX('02-3333-3333', '-', -2) ;
▶ 결과 : '3333-3333'
SELECT SUBSTRING_INDEX('02-3333-3333', '-', -3) ;
▶ 결과 : '02-3333-3333'
전화번호의 가운데 번호를 변조할 때도 사용가능한데요.
가령 앞의 번호 자리수가 다를때는 자르기가 애매하기에 구분자를 통해 문자열을 나눕니다.
SELECT
CONCAT(SUBSTRING_INDEX(T.TP,'-',1) ,'-****-',SUBSTRING_INDEX(T.TP,'-',-1)) AS TELEPHONE
FROM (
SELECT '02-3333-3333' AS TP
UNION
SELECT '031-2222-2222' AS TP
) T;
▶ 결과 :
02-****-3333
031-****-2222
728x90
반응형
'MariaDB SQL' 카테고리의 다른 글
MariaDB LEAST(두개 이상의 컬럼에서 가장 작은수 구하기) (0) | 2024.02.28 |
---|---|
MariaDB GREATEST(두개 이상의 컬럼에서 가장 큰 수 구하기) (0) | 2024.02.27 |
MariaDB 문자를 숫자로, 숫자를 문자로 변환 (0) | 2024.01.05 |
MariaDB JOIN을 통한 UPDATE 실행 (0) | 2024.01.03 |
MariaDB WITH ROLLUP (그룹별 요약 구하기) (0) | 2023.11.15 |