LEN (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform 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 .
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)
