MSSQL에서 문자열을 자를 때 가장 많이 사용하는 핵심 함수 4가지를 SSMS에서 실행해 봤습니다. 상황에 따라 해당 함수를 사용하여 문자열을 자르고 추출하여 원하는 결과값을 얻을수 있다.
1. CHARINDEX
문자열의 첫 번째 문자를 위치부터 CHARINDEX 함수로 찾은 특정 문자의 위치 앞까지 문자열을 자른다.
SELECT SUBSTRING('lot-batch', CHARINDEX('-', 'lot-batch') + 1, LEN('lot-batch')) AS Result예제 쿼리는 'lot-batch'라는 문자열에서 하이픈(-) 이후의 뒷부분, 즉 "batch"만 추출하는 방법이다.
결국 SUBSTRING('lot-batch, 5, 9)로 계산되어 결과값은 "batch" 라고 결과값을 얻을수 있습니다.
2. SUBSTRING (가장 만능)
문자열의 지정한 위치에서부터 원하는 길이만큼 잘라냅니다.
SELECT SUBSTRING('Hello World', 1, 5); -- 결과: 'Hello'
SELECT SUBSTRING('Hello World', 7, 5); -- 결과: 'World'3. LEFT & RIGHT (방향 기준)
왼쪽(처음) 또는 오른쪽(끝)을 기준으로 원하는 글자 수만큼 잘라냅니다.
SELECT LEFT('20260624', 4); -- 결과: '2026' (연도만 추출)
SELECT RIGHT('20260624', 2); -- 결과: '24' (일자만 추출)4. STRING_SPLIT (구분자 기준 분리)
특정 구분자(예: 쉼표, 공백)를 기준으로 문자열을 쪼개서 여러 개의 행(Table)으로 반환합니다. (SQL Server 2016 이상 지원)
SELECT value FROM STRING_SPLIT('사과,바나나,오렌지', ',');
댓글 쓰기