列の値の実際の長さを取得するにはどうすればよいですか?
My(Oracle)sqlコマンドは、値の実際の長さではなく、列に挿入できる値の最大長を返します。
これを修正する方法は?
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()
は、文字列の長さ(検証済み)を返します。データに空白が埋め込まれていると思います-試してください
_SELECT typ, LENGTH(TRIM(t1.typ))
FROM AUTA_VIEW t1;
_
代わりに。
OraNob
が述べたように、別の原因としてCHAR
が使用されている場合、LENGTH()
も文字列の長さではなく列の幅を返します。ただし、この場合はTRIM()
アプローチも機能します。