DB/MySQL

[MySQL] SQL 문자열 자르기 - SUBSTR / SUBSTRING / LEFT / RIGHT

동호다찌 2022. 4. 1. 13:42
반응형

ORACLE에서 문자열 자르기

// 기본 데이터
> SELECT "test@test.com" as email;
+---------------------------------------+
| email                                 |
+---------------------------------------+
| test@test.com                         |
+---------------------------------------+

SUBSTR(문자열, 시작 위치, 길이)

  • 문자열 : 원하는 문자열(대상 칼럼)
  • 시작 위치 : 시작 위치
  • 길이 : 시작위치 부터 마지막 위치
// SUBSTR 함수 사용하여 문자열 자르기
> SELECT SUBSTR("test@test.com", 1, 3) as email1
       , SUBSTR("test@test.com", 1, 4) as email2
       , SUBSTR("test@test.com", 2, 3) as email3 ;

+--------------------------------------+
|   email1   |   email2   |   email3   |
+--------------------------------------+
|   tes      |    test    |    est     |
+--------------------------------------+
  • 첫번 째로 사용한 email1은 시작위치 1부터 시작하여 3번 째 순서에서 자르기
  • 두번 째로 사용한 email2는 시작위치 1부터 시작하여 4번 째 순서에서 자르기
  • 세번 째로 사용한 email3는 시작위치 2부터 시작하여 3번 째 순서에서 자르기

MySQL에서 문자열 자르기

// 기본 데이터
> SELECT "test@test.com" as email;
+---------------------------------------+
| email                                 |
+---------------------------------------+
| test@test.com                         |
+---------------------------------------+

SUBSTRING(문자열, 시작 위치, 길이)

  • 문자열 : 원하는 문자열(대상 칼럼)
  • 시작 위치 : 시작 위치
  • 길이 : 시작위치 부터 마지막 위치
// SUBSTRING 함수 사용하여 문자열 자르기
> SELECT SUBSTRING("test@test.com", 1, 3) as email1
       , SUBSTRING("test@test.com", 1, 4) as email2
       , SUBSTRING("test@test.com", 2, 3) as email3 ;

+--------------------------------------+
|   email1   |   email2   |   email3   |
+--------------------------------------+
|   tes      |    test    |    est     |
+--------------------------------------+

LEFT(문자열, 길이)

  • 문자열 : 원하는 문자열(대상 칼럼)
  • 시작 위치 : 시작 위치
  • 길이 : 시작위치 부터 마지막 위치
// LEFT 함수 사용하여 문자열 자르기
> SELECT LEFT("test@test.com", 4) as email1
       , LEFT("test@test.com", 8) as email2
       , LEFT("test@test.com", 12) as email3 ;

+-----------------------------------------------------+
|    email1    |    email2     |     email3           |
+-----------------------------------------------------+
|    test     |     test@tes   |    est@test.com      |
+-----------------------------------------------------+

RIGHT(문자열, 길이)

  • 문자열 : 원하는 문자열(대상 칼럼)
  • 시작 위치 : 시작 위치
  • 길이 : 시작위치 부터 마지막 위치
// RIGHT 함수 사용하여 문자열 자르기
> SELECT RIGHT("test@test.com", 4) as email1
       , RIGHT("test@test.com", 8) as email2
       , RIGHT("test@test.com", 12) as email3 ;

+-----------------------------------------------------+
|    email1    |    email2     |     email3           |
+-----------------------------------------------------+
|    .com     |     est.com    |    est@test.com      |
+------------------------------------------------- ---+
반응형