mysql 문자열 자르기, 문자열 나누기 left, substring, right
1. 왼쪽에서 문자열 자르기
left(컬럼명 또는 문자열, 왼쪽에서 잘라낼 문자열의 길이)
사용예 : SELECT left("chongmoa.com", 5) 결과 : chong 사용예 : SELECT left("chongmoa.com", 8) 결과 : chongmoa 사용예 : SELECT left("20140323", 4) 결과 : 2014 사용예 : SELECT left("20140323", 6) 결과 : 201403
2. 중간에서 문자열 자르기
substring(컬럼 또는 문자열, 시작위치, 길이);
사용예 : SELECT substring("chongmoa.com", 3, 5) 결과 : ongmo 사용예 : SELECT substring("chongmoa.com", 1, 5) 결과 : chong SELECT substring("20140323", 1, 4) 사용예 : SELECT substring("20140323", 1, 4) 결과 : 2014 사용예 : SELECT substring("20140323", 1, 6) 결과 : 201403 사용예 : SELECT substring("20140323", 5, 2) 결과 : 03 참고 : substr 함수는 문자열의 일부를 추출하는 함수로 substring 함수의 동의어입니다
3. 오른쪽에서 문자열 자르기
right(컬럼명 또는 문자열, 길이);
사용예 : SELECT right("chongmoa.com", 7) 결과 : moa.com 사용예 : SELECT right("chongmoa.com", 3) 결과 : com 사용예 : SELECT right("20140323", 4) 결과 : 0323 사용예 : SELECT right("20140323", 2) 결과 : 23
4. 구분자 (delimiter) 로 검색
SUBSTRING_INDEX(str,delim,count)
구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴한다.
만일 count 가 양수 (positive)라면, 마지막 구분자의 왼쪽에 있는 모든 것들이 리턴된다.
(왼쪽부터 계산이 됨). 만일 count 가 음수일 경우에는, 마지막 구분자의 오른쪽에 있는 모든 것들이 리턴된다 (오른쪽부터 계산됨).
SUBSTRING_INDEX()는 delim에 대한 검색을 할 때 문자의 크기를 구분한다.
사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', 2); 결과 : www.chongmoa 사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', -2); 결과 : chongmoa.com 사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', -1) 결과 : chongmoa.com 사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', 1) 결과 : admin
이 함수는 다중 바이트를 지원한다.