Ich versuche meine Datenbank zu optimieren. Dazu muss ich in der Lage sein, den längsten Dateneintrag in einer varchar-Spalte zu bestimmen und dann die Spaltendefinition genau darüber zu kürzen.
Wie kann ich mit sql die Länge des längsten varchar-Eintrags in meiner Tabelle herausfinden?
%Vor% Wenn Sie beispielsweise die maximale Länge des Feldes output
kennen möchten, können Sie diese Abfrage verwenden:
Sie können dies tun, indem Sie die folgende Anweisung verwenden
%Vor%Der Max_length-Wert der Ergebnisse liefert Ihnen das längste varchar in dieser Spalte.
Wenn Sie in diesem Fall also die Ausgabespalte untersuchen möchten, können Sie Folgendes ausführen:
%Vor%Der Vorteil davon ist, dass es Ihnen auch den optimalen Feldtyp in den Rückgabewerten gibt, der etwas in der Art von
sein wird %Vor%Ich werde die Antwort in der Frage posten, die ich gemacht habe:
%Vor%Die Back-Ticks und die Funktion char_length in Aurelios Antwort verursachen beide Fehler. Diese Antwort funktioniert.