MSSQL left,right 함수

개요

MSSQL left 와 right 는 문자열을 자르는 함수입니다. left 는 왼쪽에서, right 는 오른쪽에서 자릅니다.
substring 와 비슷한 기능인데, substring 을 쓰면 인덱스가 1부터였는지 0부터였는지 생각도 하게 되고, 뭔가 타이핑도 좀 더해야 하는 느낌이라, 중간부터 자르는게 아니라 오른쪽이나 왼쪽에서 자르는거라면 left/right 를 많이 사용합니다.

구문

LEFT ( character_expression , integer_expression )
RIGHT ( character_expression , integer_expression )

mssql Left / Right 기본 예제

SELECT LEFT('12345', 2)
	, RIGHT('12345', 2)

결과는 아래와 같이 앞에서 두 글자, 뒤에서 두 글자만 잘라서 나옵니다.

MSSQL LEFT 함수 결과

그 외 예제

SELECT LEFT('12345', 100)
	, LEFT('12345', NULL)
	, LEFT(NULL, 100)
	, LEFT(NULL, NULL)
	, LEFT('  12345', 4)
	, LEFT('12345', 0)

결과는 아래와 같습니다. 파라미터에 NULL 이 들어있어도 별다른 에러가 안나고, 비교적 신경쓸게 적은 함수 입니다.

SELECT LEFT('12345', -2)

하지만 위와 같이 파라미터에 음수가 들어가는 경우는 아래와 같은 에러가 나고, 파라미터 갯수가 부족하면 당연히 에러가 납니다.

실행계획

LEFT 함수가 딱히 실행계획을 볼 건 없는데, 내용을 좀 뜯어보면 아래와 같이 LEFT/RIGHT 를 실행해도 실제로는 SUBSTRING 을 사용하고 있네요. 막연히 그럴것 같다 생각했는데, 실제로 확인하니..

SELECT LEFT(C2, 1)
FROM T

MSSQL 문자열 함수 26개 정리
LEFT 함수 MS 문서 링크

Comments

No comments yet. Why don’t you start the discussion?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다