MariaDB SQL

MariaDB SUBSTRING_INDEX(특정 문자로 구분하여 문자열 나누기)

ssamhago 2024. 1. 23. 20:39
728x90
320x100

SUBSTRING_INDEX

 

 

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
반응형