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

SQL Server LEN 함수 완벽 정리 – 문자열 길이 구하기 (뒤쪽 공백 제외)

이 글에서는 SQL Server의 LEN 함수를 사용하여 입력된 문자열의 문자 수를 반환하는 방법을 소개합니다. LEN 함수는 문자열 길이를 계산할 때 문자열 끝에 있는 공백은 제외한다는 점이 특징입니다.

LEN 함수란?

SQL Server의 LEN 함수는 지정한 문자열의 길이를 반환하는 함수입니다. 여기서 중요한 점은 LEN 함수가 길이를 계산할 때 문자열 끝에 있는 공백 문자는 포함하지 않는다는 것입니다.

문법

SQL Server에서 LEN 함수를 사용하려면 다음과 같은 문법을 사용합니다.

LEN(string)

매개변수:

  1. string: 길이를 계산하려는 대상 문자열입니다.

참고 사항

  1. LEN 함수는 문자열 길이를 계산할 때 문자열 끝에 있는 공백은 세지 않습니다.
  2. 반면 문자열 앞에 있는 공백은 길이에 포함하여 셉니다.
  3. 입력 문자열이 NULL이면 LEN 함수는 NULL을 반환합니다.
  4. 공백까지 모두 포함한 문자열 길이를 계산하려면 DATALENGTH 함수를 사용하는 것이 좋습니다.
  5. LEN 함수는 SQL Server 2005부터 SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017까지 다양한 버전에서 사용할 수 있습니다.

예제

몇 가지 예제를 통해 LEN 함수가 실제로 어떻게 동작하는지 살펴보겠습니다.

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

SELECT LEN('TipsMake.com ');
-- 결과: 12 (문자열 끝의 공백은 길이에 포함되지 않음)

SELECT LEN(' TipsMake.com');
-- 결과: 13 (문자열 앞의 공백은 길이에 포함됨)

SELECT LEN(' TipsMake.com ');
-- 결과: 13

SELECT LEN(' ');
-- 결과: 0

SELECT LEN(NULL);
-- 결과: NULL

LEN 함수와 DATALENGTH 함수의 차이

LEN 함수와 자주 비교되는 함수로 DATALENGTH가 있습니다. LEN은 문자 수를 반환하는 반면, DATALENGTH는 문자열이 차지하는 바이트 수를 반환합니다. 특히 NVARCHAR처럼 유니코드 데이터를 저장하는 열에서는 한글·한자 등 2바이트 문자가 있기 때문에 두 함수의 결과가 서로 다르게 나올 수 있습니다.

SELECT LEN(N'안녕');
-- 결과: 2

SELECT DATALENGTH(N'안녕');
-- 결과: 4 (유니코드 문자 1개당 2바이트)

따라서 단순히 문자 개수를 알고 싶다면 LEN 함수를, 저장 공간(바이트) 크기를 확인하고 싶다면 DATALENGTH 함수를 사용하는 것이 적절합니다.