적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
후행 공백을 제외하고 지정된 문자열 식의 문자 수를 반환합니다.
참고
식을 표시하는 데 사용된 바이트 수를 반환하려면 DATALENGTH 함수를 사용하세요.
구문
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
다음 예제에서는 열의 문자 수와 해당 열 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