본문 바로가기
DataBase/MYSQL

[MYSQL] LEFT/ RIGHT 함수 - 문자열 일부 가져오기

by 오늘은강박사갈거야~~ 2021. 5. 24.
반응형

LEFT/ RIGHT 함수

 

이 3가지 함수들은 MYSQL에서 문자열의 일부분을 가지고 오는 함수들입니다. 각각의 기능은 다음과 같습니다.

 

  • LEFT 함수: 문자열의 왼쪽 기준에서 일정 갯수를 왼쪽부터 가지고 오는 함수
  • RIGHT 함수: 문자열의 오른쪽 기준에서 숫자를 세서 일정 개수를 왼쪽부터 가지고 오는 함수

 

함수는 다음과 같이 사용합니다.

LEFT, RIGHT 모두 동일하게, 가져오려는 문자열/컬럼을 첫 번째 인수로 넣어주시고, 다음 인수로는 가져올 만큼의 길이(숫자)를 기입해 주시면 되겠습니다. ( 물론, LEFT 함수는 왼쪽 RIGHT 함수는 오른쪽부터 숫자를 세면 되겠습니다.)

 

 

[1] 사용 형태

 

1. 문자열 중 원하는 일부 출력

SELECT LEFT('table', 3)

-> 결과는 tab
SELECT RIGHT('love', 2)

-> 결과는 ve

 

2. 열에게 일괄적으로 적용하기

 

ID_NUM NAME COUNTRY CITY
1 강박사입니다 대한민국_122 [A]서울
2 줄줄이입니다 대한민국_423 [B]부산
3 정빵디입니다 러시아_612 [C]블라디보스톡

table1

SELECT LEFT(NAME,3) # NAME 컬럼의 모든 문자열을 왼쪽에서 3개만 가지고 온다.
from table1 # table1이라는 이름의 표에서 

-> 결과는
강박사
줄줄이
정빵디
SELECT RIGHT(COUNTRY,4) # COUNTRY 컬럼의 모든 문자열을 오른쪽에서 3개만 가지고 온다.
from table1 # table1이라는 이름의 표에서 


-> 결과는
_122
_423
_612

 

3.WHERE 절에 사용한 LEFT

SELECT LEFT(NAME,3) # NAME 컬럼에서 왼쪽에서 3개 문자열을 가지고 온다. 
FROM table1
WHERE LEFT(CITY, 3) ='[B]'  # CITY 컬럼에서 왼쪽에서 3개 문자열이 [B]

-> 결과는
줄줄이

[2] 참고 사항

- 처음에 저는 헷갈렸던 부분인데, RIGHT 함수를 취하면, 가지고 오는 문자열도 순서가 오른쪽부터 오게 되는 줄 알았으나, 문자열의 수를 오른쪽에서 셀뿐, 문자열의 순서는 왼쪽-> 오른쪽으로 가져오게 됩니다.

SELECT RIGHT('love', 3)
이면 결과는 ove가 나오는 것입니다. 

LEFT와 RIGHT 모두 문자열의 번호를 어디부터 셀 것인가의 차이가 있을 뿐이고, 나머지는 모두 동일하게 왼쪽에서 오른쪽으로 문자열을 가지고 오게 됩니다.

 

[3] 참고 자료

 

MySQL LEFT() function - w3resource

MySQL LEFT() returns a specified number of characters from the left of the string. Both the number and the string are supplied as arguments of the function.

www.w3resource.com

반응형

댓글