LEN (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan jumlah karakter ekspresi string yang ditentukan, tidak termasuk spasi berikutnya.

Catatan

Untuk mengembalikan jumlah byte yang digunakan untuk mewakili ekspresi, gunakan fungsi DATALENGTH .

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

LEN ( string_expression )  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

string_expression
Adalah ekspresi string yang akan dievaluasi. string_expression dapat berupa konstanta, variabel, atau kolom dari data karakter atau biner.

Jenis Pengembalian

bigint jika ekspresi adalah jenis data varchar(max), nvarchar(max) atau varbinary(max ) ; jika tidak, int.

Jika Anda menggunakan kolase SC, nilai bilangan bulat yang dikembalikan menghitung pasangan pengganti UTF-16 sebagai satu karakter. Untuk informasi selengkapnya, lihat Kolajeasi dan Dukungan Unicode.

Keterangan

LEN mengecualikan spasi berikutnya. Jika itu masalah, pertimbangkan untuk menggunakan fungsi DATALENGTH (Transact-SQL) yang tidak memangkas string. Jika memproses string unicode, DATALENGTH akan mengembalikan angka yang mungkin tidak sama dengan jumlah karakter. Contoh berikut menunjukkan LEN dan DATALENGTH dengan spasi berikutnya.

  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];  

Catatan

Gunakan LEN untuk mengembalikan jumlah karakter yang dikodekan ke dalam ekspresi string tertentu, dan DATALENGTH untuk mengembalikan ukuran dalam byte untuk ekspresi string tertentu. Output ini mungkin berbeda tergantung pada jenis data dan jenis pengodean yang digunakan dalam kolom. Untuk informasi selengkapnya tentang perbedaan penyimpanan antara jenis pengodean yang berbeda, lihat Kolate dan Dukungan Unicode.

Contoh

Contoh berikut memilih jumlah karakter dan data untuk FirstName orang yang terletak di Australia. Contoh ini menggunakan database AdventureWorks.

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

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

Contoh berikut mengembalikan jumlah karakter di kolom FirstName dan nama depan dan belakang karyawan yang terletak di Australia.

USE AdventureWorks2016  
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';  

Berikut adalah hasil yang ditetapkan.

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

Lihat juga

DATALENGTH (SQL bertransaksi)
CHARINDEX (SQL bertransaksi)
PATINDEX (SQL bertransaksi)
LEFT (Transact-SQL)
KANAN (SQL bertransaksi)
Tipe Data (Transact-SQL)
Fungsi String (SQL Transact)