我是编写查询的新手。我需要一个查询来说明小数位后的位数。
例如:
1001.00 = 0 digits after decimal
1001.01 = 2 digits after decimal
1001.010 = 2 digits after decimal
我该怎么做?
答案 0 :(得分:2)
ORACLE解决方案
这可以通过多种方式实现,其中一种在下面,
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;
答案 1 :(得分:0)
表示oracle简单示例:
select length(substr(to_char(999999.564654645),instr(to_char(999999.564654645), ',')+1, 16)) || ' digits after decimal' from dual
答案 2 :(得分:0)
此解决方案在MySQL中对我有效,并且对任何数字字段均适用:
SELECT char_length(field) - char_length(floor(field)) - 1 as digits_after_decimal;