我在 oracle 中有一个表,如下所示:
name | type | nullable
------------------------------------------
person_name | varchar(20) | yes
weight_coeficient | number | yes
...
我怎样才能算出weight_coeficient的值有多少位?例如:
3.0123456789
有 11 位数字 ( precision = 11) 和小数点后 10 位数字 ( scale = 10)
是否有任何 sql 命令/函数可以执行此操作,例如返回 11 的 GetPrecision( select.. )
?
另请注意,表的定义未指定小数位数和精度。据我所知,最大精度适用于所有数字。所以我对找出定义的精度(= 48)不感兴趣,而是对表中特定值的精度感兴趣。仅使用 oracle 命令可以吗?
提前谢谢您,
JP
最佳答案
怎么样....
SELECT LENGTH(TRANSLATE(TO_CHAR(3.0123456789),'1234567890.-','1234567890'))
FROM dual
翻译只是删除非数字字符.-
关于oracle - 如何找出甲骨文号码的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6941413/