다음을 통해 공유


LEN(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

후행 공백을 제외하고 지정된 문자열 식의 문자 수를 반환합니다.

참고

식을 표시하는 데 사용된 바이트 수를 반환하려면 DATALENGTH 함수를 사용하세요.

Transact-SQL 구문 표기 규칙

구문

LEN ( string_expression )

인수

string_expression

평가할 문자열 입니다. string_expression은 문자나 이진 데이터의 상수, 변수 또는 열일 수 있습니다.

반환 형식

varchar(max), nvarchar(max) 또는 varbinary(max) 데이터 형식인 경우 bigint; 그렇지 않으면 int입니다.

SC 데이터 정렬을 사용하는 경우 반환된 정수 값은 UTF-16 서로게이트 쌍을 단일 문자로 계산합니다. 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하십시오.

설명

LEN 는 후행 공백을 제외합니다. 문제가 있는 경우 문자열을 트리밍하지 않는 DATALENGTH 함수를 사용하는 것이 좋습니다. 유니코드 문자열 DATALENGTH 을 처리하는 경우 문자 수와 같지 않을 수 있는 숫자를 반환합니다. 다음 예제에서는 LENDATALENGTH 후행 공백을 보여 줍니다.

DECLARE @v1 AS VARCHAR (40), @v2 AS NVARCHAR (40);

SELECT @v1 = 'Test of 22 characters ',
       @v2 = 'Test of 22 characters ';

SELECT LEN(@v1) AS [VARCHAR LEN],
       DATALENGTH(@v1) AS [VARCHAR DATALENGTH];

SELECT LEN(@v2) AS [NVARCHAR LEN],
       DATALENGTH(@v2) AS [NVARCHAR DATALENGTH];

참고

지정된 문자열 식으로 인코딩된 문자 수를 반환하고 LEN를 사용하여 지정된 문자열 식의 크기를 바이트 단위로 반환합니다. 이러한 출력은 열에 사용되는 데이터 형식 및 인코딩 형식에 따라 다를 수 있습니다. 서로 다른 인코딩 형식 간의 스토리지 차이점에 대한 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하세요.

다음 예에서는 FirstName에 있는 사람의 Australia 데이터 및 문자 수를 선택합니다. 이 예에서는 AdventureWorks 데이터베이스를 사용합니다.

SELECT LEN(FirstName) AS Length,
       FirstName,
       LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

다음 예제에서는 열의 문자 수와 해당 열 FirstName 에 있는 FirstName직원의 이름(LastName) 및 가족 이름(Australia)을 반환합니다.

USE AdventureWorks2022;
GO

SELECT DISTINCT LEN(FirstName) AS FNameLength,
                FirstName,
                LastName
FROM dbo.DimEmployee AS e
     INNER JOIN dbo.DimGeography AS g
         ON e.SalesTerritoryKey = g.SalesTerritoryKey
WHERE EnglishCountryRegionName = 'Australia';

결과 집합은 다음과 같습니다.

FNameLength  FirstName  LastName
-----------  ---------  ---------------
4            Lynn       Tsoflias