Holen Sie sich die Spalte Wert die Länge, nicht die Spalte, die maximale Länge des Wertes
Wie bekomme ich die tatsächliche Länge der Wert in Spalte?
Meine (oracle) sql-Befehl gibt die maximale Länge der Wert, der eingefügt werden kann, die in der Spalte statt der echten Länge den Wert.
Wie man dieses Problem beheben?
SQL> SELECT typ, length(t1.typ)
FROM AUTA_VIEW t1;
TYP LENGTH(T1.TYP)
---------- --------------
BMW 10
BMW 10
BMW 10
Ferrari 10
BMW 10
Audi 10
Audi 10
Audi 10
Ferrari 10
Ferrari 10
Mercedes 10
Ist Ihre Spalte TYP CHAR-Datentyp? CHAR hat eine Feste Länge. Wenn es ein VARCHAR2 Ihre Abfrage sollte funktionieren.
Guter Fang - auf jeden Fall die trim () - Ansatz funktioniert auch bei Verwendung von CHAR.
Guter Fang - auf jeden Fall die trim () - Ansatz funktioniert auch bei Verwendung von CHAR.
InformationsquelleAutor Buksy | 2012-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
LENGTH()
zurückgegeben wird die Länge der Zeichenfolge (gerade überprüft). Ich nehme an, dass Ihre Daten mit Leerzeichen aufgefüllt - versuchenstatt.
Als
OraNob
erwähnt, eine weitere Ursache könnte sein, dassCHAR
verwendet, in dem FallLENGTH()
würde Sie auch zurück in die Spalte die Breite, nicht die Länge der Zeichenfolge. Jedoch, dieTRIM()
Ansatz funktioniert auch in diesem Fall.InformationsquelleAutor Andreas Fester