LEN(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
후행 공백을 제외하고 지정된 문자열 식의 문자 수를 반환합니다.
참고
식을 표시하는 데 사용된 바이트 수를 반환하려면 DATALENGTH 함수를 사용하세요.
구문
LEN ( string_expression )
인수
string_expression
계산할 문자열 식입니다. string_expression은 문자나 이진 데이터의 상수, 변수 또는 열일 수 있습니다.
반환 형식
식의 데이터 형식이 varchar(max) , nvarchar(max) 또는 varbinary(max) 이면 bigint, 그렇지 않으면 int입니다.
SC 데이터 정렬을 사용하는 경우 반환되는 정수 값에서는 UTF-16 서로게이트 쌍이 단일 문자로 계산됩니다. 자세한 내용은 Collation and Unicode Support을 참조하세요.
설명
LEN은 후행 공백을 제외합니다. 이것이 문제가 될 경우 문자열을 자르지 않는 DATALENGTH(Transact-SQL) 함수를 사용해 보십시오. 유니코드 문자열을 처리할 경우 DATALENGTH는 문자 수와 동일하지 않을 수 있는 숫자를 반환합니다. 다음 예는 후행 공백이 포함된 LEN 및 DATALENGTH를 보여줍니다.
DECLARE @v1 VARCHAR(40),
@v2 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을 사용하고, 지정된 문자열 식의 크기(바이트)를 반환하려면 DATALENGTH를 사용합니다. 이러한 출력은 열에 사용되는 인코딩 유형 및 데이터 형식에 따라 다를 수 있습니다. 서로 다른 인코딩 유형의 스토리지 차이점에 대해 자세히 알아보려면 데이터 정렬 및 유니코드 지원을 참조하세요.
예
다음 예에서는 FirstName
에 있는 사람의 Australia
데이터 및 문자 수를 선택합니다. 이 예에서는 AdventureWorks 데이터베이스를 사용합니다.
SELECT LEN(FirstName) AS Length, FirstName, LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = 'Australia';
GO
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
다음 예는 FirstName
열의 문자 수를 반환하고 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
참고 항목
DATALENGTH(Transact-SQL)
CHARINDEX(Transact-SQL)
PATINDEX(Transact-SQL)
LEFT(Transact-SQL)
RIGHT(Transact-SQL)
데이터 형식(Transact-SQL)
문자열 함수(Transact-SQL)