Buk*_*ksy 13 oracle string-length
如何获得列中的实际值长度?
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
Run Code Online (Sandbox Code Playgroud)
And*_*ter 23
LENGTH()确实返回字符串长度(刚刚验证).我想你的数据用空格填充 - 试试
SELECT typ, LENGTH(TRIM(t1.typ))
FROM AUTA_VIEW t1;
Run Code Online (Sandbox Code Playgroud)
代替.
正如OraNob所提到的,另一种原因可能是CHAR在这种情况下,使用LENGTH()也将返回列的宽度,而不是字符串长度.但是,该TRIM()方法也适用于这种情况.