개요
MSSQL 에서 Substring 함수는 문자열을 자를 때 사용합니다. 기본 구문과 여러가지 사용 사례를 살펴보겠습니다.
MS 공식 문서
기본 구문
SUBSTRING ( expression, start, length )
예제

SUBSTRING 함수를 사용해서 첫번째 글자부터 세 개를 잘라내서 반환합니다.
MSSQL Substring 끝까지 자르기
두 번째 인수는 주어진 문자열의 길이를 벗어나도 에러가 나지 않습니다. 아래 예제에서 보겠습니다.

구분자로 자르기
구분자를 이용해서 자르는 방법은 Substring 을 이용해서는 불가능합니다.
SQL 버전이 2016 이상이라면 아래 예제처럼 STRING_SPLIT 을 이용하면 되고, 그 미만이라면 CHARINDEX 함수 등을 이용해서 간단한 쿼리를 만들어서 사용해야 합니다.

마지막 “1” 은 옵션인데, 이 옵션이 없으면 ordinal 열은 나타나지 않습니다. 자른 결과만 나오는데, 이 옵션에 1을 주고, where 절에서 ordinal 에 조건을 추가해서 특정한 index 의 값을 받을 수 있습니다.
MSSQL Substring 뒤에서 자르기
뒤에서 자르는 방법은 없어서 REVERSE 함수를 이용해서 문자열을 뒤집어서 배치하고 자른 후에 다시 뒤집어서 배치하면 뒤에서 자르는 것과 동일한 효과를 얻을 수 있습니다.

그 외 left, right 함수
중간을 자르는게 아니라 처음부터 몇 개 또는 마지막 몇 개를 자르는 경우 left / right 함수를 이용하면 좀 더 간단합니다.