다음을 통해 공유


LEN(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System(PDW) SQL 분석 엔드포인트

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

참고

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

Transact-SQL 구문 표기 규칙

Syntax

LEN ( string_expression )  

참고 항목

SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

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)