it-swarm.com.de

Rufen Sie die maximale Länge einer VARCHAR-Spalte in SQL Server ab

Ich möchte den längsten VARCHAR in einer bestimmten Spalte einer SQL Server-Tabelle finden.

Hier ist ein Beispiel:

ID = INT IDENTITY
DESC = VARCHAR(5000)

ID | Desc
---|-----
1  | a
2  | aaa
3  | aa

Was ist die SQL, um 3 zurückzugeben? Da ist der längste Wert 3 Zeichen?

63
Milo LaMar

Verwenden Sie die integrierten Funktionen für Länge und Maximum in der Beschreibungsspalte:

SELECT MAX(LEN(DESC)) FROM table_name;

Wenn Ihre Tabelle sehr groß ist, kann es zu Leistungsproblemen kommen.

120
aweis

für mysql seine Länge nicht len

SELECT MAX(LENGTH(Desc)) FROM table_name
27
Abhishek Goel

Achtung!! Wenn Leerzeichen vorhanden sind, werden sie von der LEN-Methode in T-SQL nicht berücksichtigt. Lass dich nicht von diesem Trick und benutzen

select max(datalength(Desc)) from table_name
15
bevada

Für Oracle ist es auch LENGTH anstelle von LEN

SELECT MAX(LENGTH(Desc)) FROM table_name

Desc ist auch ein reserviertes Wort. Obwohl viele reservierte Wörter in vielen Fällen noch für Spaltennamen funktionieren, ist dies eine schlechte Praxis und kann unter Umständen zu Problemen führen. Sie sind aus einem bestimmten Grund reserviert.

Wenn das Wort Desc nur als Beispiel verwendet wurde, sollte beachtet werden, dass nicht jeder das erkennen wird, aber viele werden erkennen, dass es ein reserviertes Wort für das Absteigen ist. Ich persönlich habe damit angefangen, dieses zu verwenden und dann herauszufinden, wo der Spaltenname hinging, weil alles, was ich hatte, reservierte Wörter war. Es dauerte nicht lange, um es herauszufinden, aber denken Sie daran, wenn Sie entscheiden, was Sie als Spaltennamen verwenden möchten.

7
codeguruinboise

Gibt die maximale Anzahl der Datensätze in der Tabelle an

select max(len(Description))from Table_Name

Rekord mit höherer Zählung  

select Description from Table_Name group by Description having max(len(Description)) >27

Hoffnung hilft jemandem.

4
stom
SELECT MAX(LEN(Desc)) as MaxLen FROM table
3
Milo LaMar
SELECT TOP 1 column_name, LEN(column_name) AS Lenght FROM table_name ORDER BY LEN(column_name) DESC

Für SQL Server (SSMS)

select MAX(LEN(ColumnName)) from table_name

Dies gibt die Anzahl der Zeichen zurück.

 select MAX(DATALENGTH(ColumnName)) from table_name

Dies gibt die Anzahl der benötigten Bytes zurück.

Wenn jemand varchar verwendet, dann DATALENGTH. . Mehr Details

1
MSTdev

Oft möchten Sie die Zeile mit der längsten Spalte identifizieren, insbesondere wenn Sie bei der Fehlerbehebung herausfinden möchten, warum die Länge einer Spalte in einer Zeile in einer Tabelle so viel länger ist als beispielsweise jede andere Zeile. Diese Abfrage gibt Ihnen die Möglichkeit, einen Bezeichner in der Zeile aufzulisten, um zu identifizieren, um welche Zeile es sich handelt.

select ID, [description], len([description]) as descriptionlength
FROM [database1].[dbo].[table1]
where len([description]) = 
 (select max(len([description]))
  FROM [database1].[dbo].[table1]
0
diyguy