如何在列中获得实际的值长度?
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
答案 0 :(得分:23)
LENGTH()
确实返回字符串长度(刚刚验证过)。我想你的数据用空格填充 - 试试
SELECT typ, LENGTH(TRIM(t1.typ))
FROM AUTA_VIEW t1;
代替。
提到OraNob
时,另一个原因可能是CHAR
被使用,在这种情况下LENGTH()
也会返回列宽,而不是字符串长度。但是,TRIM()
方法在这种情况下也适用。