문자열 자르기 (SUBSTRING, SUBSTRING_INDEX)

BRown·2023년 2월 23일
0

원본) https://leeys.tistory.com/23

1. SUBSTRING

1-1 (+)숫자 / -숫자

  • 앞에서 몇번째 / 뒤에서 몇번째

1-2 SUBSTRING (문자열, 시작 위치) : (문자열, 여기서 시작해서 쭉)

  • select substring('123456789', 7); : 789
  • select substring('123456789', -7); : 3456789

1-3 SUBSTRING (문자열, 시작 위치, 시작 위치부터 가져올 문자 수) : (문자열, 여기서 시작해서, 몇 개)

  • select substring('123456789',3,5); : 34567
  • select substring('123456789',-7,3); : 345

2. SUBSTRING_INDEX

(문자열, 구분자, 구분자 INDEX) : (문자열, '구분기준', 구분기준으로 나누어진 덩어리 순서대로 몇 개) , 2개 이상부터 구분자 포함하여 추출

  • select substring_index('사과,바나나,딸기,포도',',',3); : 사과, 바나나, 딸기

  • select substring_index('사과,바나나,딸기,포도',',',-3); : 바나나,딸기,포도

  • select substring_index(substring_index(,,),,)

    • select substring_index(substring_index('사과,바나나,딸기,포도',',',1),',',-1) : 사과
    • select substring_index(substring_index('사과,바나나,딸기,포도',',',2),',',-1) : 바나나
    • select substring_index(substring_index('사과,바나나,딸기,포도',',',3),',',-1) : 딸기

3. 예제) select substring_index(email, '@', --) from users

  • 1 : @ 앞 아이디만
  • -1 : @ 뒤 도메인만
  • 2 와 -2 : 전체 메일 주소
  • 3 과 -3 : 전체 메일 주소

0개의 댓글