获取的价值列值长度,不列最大长度(Get column value length, not colu

2019-08-01 22:19发布

我如何获得的值实际长度列?

我的(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

Answer 1:

LENGTH()不返回字符串的长度(只是验证)。 我想,你的数据是填充空格 - 尝试

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

代替。

OraNob所提到的,另一种原因可能是CHAR是在这种情况下使用的LENGTH()也将返回列的宽度,而不是字符串长度。 然而, TRIM()方法也适用,在这种情况下。



文章来源: Get column value length, not column max length of value