Suchfeld mit der längsten Länge in einer Spalte
-
28-09-2020 - |
Frage
Wie finde ich das Feld mit der längsten Länge einer bestimmten Spalte in einer MySQL-Tabelle?
Lösung 2
Sie können die MySQL-Befehlslänge ()
verwenden generasacodicetagpre.Andere Tipps
mySQL hat viel String-Funktionen Siekann verwenden:
generasacodicetagpre.Weitere funkige Version (es funktioniert):
generasacodicetagpre.Vielleicht möchten Sie darüber nachdenken CHAR_LENGTH()
.Unterschiede zu Dokumentation:
CHAR_LENGTH()
:Gibt die Anzahl der Zeichen im Argument zurück
LENGTH()
:Gibt die Länge einer Zeichenfolge in Bytes zurück
Zum Beispiel bei der Verwendung UTF-8
In Ihrer Spalte geben diese Funktionen unterschiedliche Werte zurück.
Und beachten Sie, dass die Länge, die Sie für a eingestellt haben string
Spalte (z. B.: varchar
) ist eigentlich seine Zeichenlänge.
Lassen Sie den Namen der Tabelle TBL1 und den Namen der Spalte COL1 sein, in dem Sie versuchen, den längsten Längenwert zu finden.
Ansatz 1:
generasacodicetagpre.Dies gibt den Wert und auch die Wertdauer zurück.
Der obige Ansatz ist am besten, wenn ihr nur eine einzige Zeile ist oder nur eine Zeile abrufen möchte, die die längste Länge hat.Falls ihre mehreren Reihen sind, die längste Länge haben und Sie sie alle abrufen möchten, wäre der zweite Ansatz das Beste.
Annäherung 2:
Wählen Sie COL1, Länge (COL1) aus TBL1, wo Länge (COL1) in (Wählen Max (Länge (Col1)) von TBL1)
Dies gibt sowohl den Wert als auch die Länge des Werts aller Zeilen zurück, der den längsten Wert aufweist.