Bagikan melalui


LEN (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

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

Catatan

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

Konvensi sintaks transact-SQL

Sintaks

LEN ( string_expression )

Argumen

string_expression

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

Tipe 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 Dukungan Pengurutan dan Unicode.

Keterangan

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

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

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 Dukungan kolate dan Unicode.

Contoh

Contoh berikut memilih jumlah karakter dan data untuk FirstName orang yang berada 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 dalam kolom FirstName dan nama depan (FirstName) dan nama keluarga (LastName) karyawan yang terletak di 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';

Berikut set hasilnya.

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