Saya ingin mencari yang terpanjang VARCHAR
di kolom tertentu dari tabel SQL Server.
Berikut contohnya:
ID = INT IDENTITY
DESC = VARCHAR(5000)
ID | Desc
---|-----
1 | a
2 | aaa
3 | aa
Apa SQL untuk mengembalikan 3? Karena nilai terpanjang adalah 3 karakter?
sql
sql-server
string-length
maxlength
Milo LaMar
sumber
sumber
DATALENGTH
(karena Anda mungkin menggunakannyaNVARCHAR
di beberapa tempat, atau suatu hari nanti).untuk mysql panjangnya bukan len
SELECT MAX(LENGTH(Desc)) FROM table_name
sumber
Awas!! Jika ada spasi, spasi tidak akan dipertimbangkan oleh metode LEN di T-SQL. Jangan biarkan ini menipu Anda dan gunakan
select max(datalength(Desc)) from table_name
sumber
Untuk Oracle, ini juga LENGTH, bukan LEN
SELECT MAX(LENGTH(Desc)) FROM table_name
Juga, DESC adalah kata yang sudah dipesan. Meskipun banyak kata yang dicadangkan masih akan berfungsi untuk nama kolom dalam banyak situasi, namun praktiknya buruk untuk melakukannya, dan dapat menyebabkan masalah dalam beberapa keadaan. Mereka dicadangkan karena suatu alasan.
Jika kata Desc hanya digunakan sebagai contoh, perlu dicatat bahwa tidak semua orang akan menyadarinya, tetapi banyak yang akan menyadari bahwa itu adalah kata khusus untuk Descending. Secara pribadi, saya mulai dengan menggunakan ini, dan kemudian mencoba mencari tahu ke mana perginya nama kolom karena yang saya miliki hanyalah kata-kata yang dipesan. Tidak butuh waktu lama untuk mengetahuinya, tetapi ingatlah hal itu ketika memutuskan apa yang akan menggantikan nama kolom Anda yang sebenarnya.
sumber
Memberikan catatan Hitungan Maks dalam tabel
select max(len(Description))from Table_Name
Memberikan Rekor Memiliki Hitungan Lebih Besar
select Description from Table_Name group by Description having max(len(Description)) >27
Harapan membantu seseorang.
sumber
SELECT MAX(LEN(Desc)) as MaxLen FROM table
sumber
Untuk sql server (SSMS)
select MAX(LEN(ColumnName)) from table_name
Ini akan mengembalikan jumlah karakter.
select MAX(DATALENGTH(ColumnName)) from table_name
Ini akan mengembalikan jumlah byte yang digunakan / diperlukan.
JIKA seseorang menggunakan varchar lalu gunakan
DATALENGTH
. Keterangan lebih lanjutsumber
SELECT TOP 1 column_name, LEN(column_name) AS Lenght FROM table_name ORDER BY LEN(column_name) DESC
sumber
Sering kali Anda ingin mengidentifikasi baris yang memiliki kolom tersebut dengan panjang terpanjang, terutama jika Anda sedang memecahkan masalah untuk mencari tahu mengapa panjang kolom pada satu baris dalam tabel jauh lebih panjang daripada baris lainnya, misalnya. Kueri ini akan memberi Anda opsi untuk mencantumkan pengenal pada baris untuk mengidentifikasi baris itu.
select ID, [description], len([description]) as descriptionlength FROM [database1].[dbo].[table1] where len([description]) = (select max(len([description])) FROM [database1].[dbo].[table1]
sumber
Untuk IBM Db2 PANJANG nya, bukan LEN:
SELECT MAX(LENGTH(Desc)) FROM table_name;
sumber