新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
给你做个试验你就知道了
创新互联建站专注于梅江网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供梅江营销型网站建设,梅江网站制作、梅江网页设计、梅江网站官网定制、重庆小程序开发服务,打造梅江网络公司原创品牌,更为您提供梅江网站排名全网营销落地服务。
create table test
(id varchar2(6));
insert into test values ('120000');
insert into test values ('120010');
insert into test values ('120200');
insert into test values ('123000');
insert into test values ('123001');
commit;
执行第一遍:
update test set id=substr(id,1,5) where id like '%0';
commit;
此时结果:
执行第二遍:
update test set id=substr(id,1,4) where id like '%0';
commit;
后边就不举例了,也就是语句执行4遍,需要修改里边的参数。
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
--方法很多的,看你想怎么个实现方法。最好做成函数,通用一点。
SQL SELECT
2 TO_CHAR(123,'9990.00') A,
3 TO_CHAR(5.8,'9990.00') B,
4 TO_CHAR(.46,'9990.00') C
5 FROM
6 dual;
A B C
---------------- ---------------- ----------------
123.00 5.80 0.46
SQL
这个应该不是SQL的问题
这个问题在财务上经常出现,也是财务软件要求必须做到的一个事
所以这个时候就必须把小数点后面的位数放的非常长,然后根据种类与量来确定划分几个
这是个程序算法题
呵呵