oracle数值函数 四舍五入:ROUND() 根据参数保留几位小数位,否则不会保留任何小数,且小数位四舍五入
创新互联公司专注于中大型企业的网站建设、成都网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户上千多家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注高端网站设计和互联网程序开发,在前进的路上,与客户一起成长!
截取小数位:TRUNC()根据参数保留几位小数位,否则不会保留任何小数,小数位不会四舍五入
取模(求余):MOD()
SELECTROUND(789.536) FROM DUAL; //790
SELECTTRUNC(789.536) FROM DUAL; //789
SELECTROUND(789.123,2) FROM DUAL; //789.12
SELECTTRUNC(789.123,2) FROM DUAL; //789.12
SELECT MOD(10,3) FROM DUAL; //10除3的余数
看看能不能帮到你哦
创建测试表及数据
create table test
(name varchar2(10));
insert into test values ('2-15');
insert into test values ('2-33');
insert into test values ('2-3');
insert into test values ('12-8');
insert into test values ('12-22');
insert into test values ('12
str=含有特殊字符的字符串
select translate(str,'()|'||str,'()|') from dual;
--这个是只保留“()|”,其他所有字符数字汉字都去除的。如果想加入保留什么就在 ‘’ 中再加入就可以了,不过加汉字就有点麻烦了。
select translate('您好123*(','()|'||'您好123*(','()|') from dual;
TRANSLATE('您好123*(','()|'||'
----------------------------------------------------------------
(
你说的是list.*中的num1吧,那就用trunc(num1,1)或者round(num1,1)都行,看你想要什么了,二者一个是截断一个是四舍五入。如果1.0中的0也要那么就要用到case when了