如何计算小数点后的位数?

use*_*746 3 mysql sql oracle

我是编写查询的新手。我需要一个查询来告诉小数点后的位数。

例如:

1001.00 = 0 digits after decimal
1001.01 = 2 digits after decimal
1001.010 = 2 digits after decimal
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

use*_*446 5

甲骨文解决方案

这可以通过多种方式实现,其中之一如下,

SELECT
length((1001.00) - trunc(1001.00)) - 1 as digits_after_decimal
FROM
dual;
SELECT
length((1001.01) - trunc(1001.01)) - 1 as digits_after_decimal
FROM
dual;    
 SELECT
length((1001.010) - trunc(1001.010)) - 1 as digits_after_decimal
FROM
dual;
Run Code Online (Sandbox Code Playgroud)