Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Holen Sie sich die Länge des Spaltenwerts, nicht die maximale Länge des Werts der Spalte

LENGTH() gibt die Zeichenfolgenlänge zurück (gerade überprüft). Ich nehme an, dass Ihre Daten mit Leerzeichen aufgefüllt sind - versuchen Sie es mit

SELECT typ, LENGTH(TRIM(t1.typ))
FROM AUTA_VIEW t1;

stattdessen.

Als OraNob erwähnt, könnte eine andere Ursache das CHAR sein wird verwendet, in diesem Fall LENGTH() würde auch die Spaltenbreite zurückgeben, nicht die Zeichenfolgenlänge. Allerdings ist die TRIM() Ansatz funktioniert auch in diesem Fall.