LEN (T-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse 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 .
Sintaks
LEN ( string_expression )
Argumen
string_expression
Adalah ekspresi string yang akan dievaluasi. string_expression dapat berupa konstanta, variabel, atau kolom dari karakter atau data biner.
Jenis Kembalian
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 Kolate dan Unicode.
Keterangan
LEN mengecualikan spasi berikutnya. Jika itu adalah 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 Collation dan Dukungan 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 dan belakang 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
Lihat Juga
DATALENGTH (Transact-SQL)
CHARINDEX (T-SQL)
PATINDEX (Transact-SQL)
KIRI (T-SQL)
KANAN (T-SQL)
Tipe Data (Transact-SQL)
Fungsi String (Transact-SQL)