Comment obtenir la longueur réelle de la valeur dans la colonne?
Ma commande (Oracle) sql renvoie la longueur maximale de la valeur qui peut être insérée dans la colonne au lieu de la longueur réelle de la valeur.
Comment régler ceci?
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
LENGTH()
retourne la longueur de la chaîne (juste vérifiée). Je suppose que vos données sont remplies de blancs - essayez
SELECT typ, LENGTH(TRIM(t1.typ))
FROM AUTA_VIEW t1;
au lieu.
Comme OraNob
l'a mentionné, une autre cause pourrait être que CHAR
est utilisé, auquel cas LENGTH()
retournerait également la largeur de la colonne, pas la longueur de la chaîne. Cependant, l'approche TRIM()
fonctionne également dans ce cas.