select 12.23-ceil(12.23) from dual --结果 -0.77 select substr(12.23-floor(12.23),2,10) from dual; --这个东西做不到通用没什么价值 --如果 select substr(12.231111111111111-floor(12.231111111111111),2,10) from dual; --结果不会是231111111111111,而是2311111111
select ltrim(0.55523-floor(0.55523),'0.') from dual; --这个比较有代表性
--1 select substr(12.25,instr(12.25,'.')+1,length(12.25)) from dual; --结果 25
--2 select A.a*power(10,length(A.a)-1) from (select trunc(12.25333,length(12.25333))-trunc(12.25333,0) a from dual) A --结果 25333 --方法很多的,看你想怎么个实现方法。最好做成函数,通用一点。
﹏空白
2025-06-18 17:00:15
select substr(12.23-floor(12.23),2,10) from dual; 优化的算法 select ltrim(12.55523-floor(12.55523),'0.') from dual;
皮比墙厚
2025-06-18 03:16:42
select 12.23-trunc(12.23) from dual; --0.23 select ltrim(12.23-trunc(12.23),'0.') from dual; --23
↘琪子
2025-06-18 06:20:15
select A.a*power(10,length(A.a)-1) from (select trunc(12.25,length(12.25))-trunc(12.25,0) a from dual) A
很酷的小当家
2025-06-18 04:10:13
说明:数字函数的输入参数和返回值都是数字类型,并且多数函数精确到38位。可以在sql语句中直接使用,也可以在pl/sql块中使用。 精确到36位的函数: cos cosh exp ln log sin sinh sqrt tan tanh 精确到30位的函数: acos asin atan atan2