Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server LEFT 함수 사용법 – 문자열 왼쪽부터 원하는 길이만큼 추출하기

이 글에서는 SQL Server의 LEFT 함수를 사용하여 주어진 문자열의 왼쪽부터 지정한 개수만큼 문자를 추출하는 방법을 자세히 알아봅니다.

LEFT 함수란?

SQL Server의 LEFT 함수는 하나의 문자열에서 가장 왼쪽 문자를 시작점으로 삼아, 원하는 길이만큼의 부분 문자열(substring)을 잘라내어 반환하는 문자열 함수입니다. 예를 들어 이름에서 성만 분리하거나, 코드 값에서 접두사(prefix)만 가져올 때 유용하게 활용됩니다.

문법(Syntax)

SQL Server에서 LEFT 함수를 사용하는 기본 문법은 다음과 같습니다.

LEFT(string, number_of_characters)

매개변수 설명

  1. string: 추출 대상이 되는 문자열, 변수 또는 테이블의 열(column)입니다.
  2. number_of_characters: 왼쪽 첫 번째 문자부터 몇 개의 문자를 반환할지 지정하는 양의 정수입니다.

주의 사항

  1. 지정한 문자 수가 문자열 전체 길이보다 크면, LEFT 함수는 원본 문자열을 그대로 반환합니다.
  2. LEFT 함수는 SQL Server 2005 이상 버전(SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017)에서 모두 사용할 수 있습니다.

LEFT 함수 예제

다양한 예제를 통해 LEFT 함수의 동작 방식을 살펴보겠습니다.

SELECT LEFT('TipsMake.com', 12);
-- 결과: 'TipsMake.com'

SELECT LEFT('TipsMake.com', 4);
-- 결과: 'Tips'

SELECT LEFT('Hello World', 5);
-- 결과: 'Hello'

SELECT LEFT('Hello World', 100);
-- 결과: 'Hello World'

위 예제에서 확인할 수 있듯이, 요청한 문자 수가 실제 문자열 길이와 같으면 문자열 전체가 반환되고, 더 작으면 왼쪽부터 해당 개수만큼만 잘려서 반환됩니다. 또한 공백도 하나의 문자로 계산된다는 점에 유의하세요.

열(Column)에 적용한 실전 예제

실무에서는 테이블의 특정 열에 LEFT 함수를 적용하는 경우가 많습니다. 예를 들어 전화번호에서 지역번호만 추출하거나, 날짜 형식의 문자열에서 연도 부분만 가져올 수 있습니다.

-- 전화번호에서 앞 3자리(지역번호) 추출
SELECT LEFT('010-1234-5678', 3);
-- 결과: '010'

-- 직원 테이블에서 입사일 문자열의 연도(앞 4자리) 추출
SELECT EmployeeName, LEFT(HireDateStr, 4) AS HireYear
FROM Employees;

이처럼 LEFT 함수는 단독으로도 사용할 수 있지만, WHERE 절이나 JOIN 조건 등 다른 쿼리 요소와 함께 조합하면 데이터 가공과 조회 작업을 훨씬 효율적으로 처리할 수 있습니다.