oracle学习总结(1)
来源:互联网 发布:血滴子 淘宝 编辑:程序博客网 时间:2024/04/29 22:30
进入新的项目组,一直在做数据库开发测试这块的东东。下面就是分享一下我自己工作中遇到的一些问题吧。没有什么系统性,写的比较散,不喜勿喷啊!!
1.数字格式的一些问题
我在工作过程中遇到了各种各样的数据要求格式问题
1)小数末尾‘0’不展示。
我使用的是rtrim函数
select rtrim(to_char(0.45550000,'0.9999999999'),'o') from dual;
2)对于0.XXX的小数不展示小数点前的‘0’
select to_char(0.25360,'.99999') from dual;
ps:如果此时既不想展示前面的0也不想展示后面的0那么
select rtrim(0.25360,'0') from dual;
但这时会出现一种情况如果查询的是0,经过处理后就变成null了
3)科学计数法的使用
select to_char(0.555555555555,9.999EEEE) from dual;
EEEE前面的9个数不一样,显示的结果也不一样哦,自己试试啊。
4)显示为百分数形式
select to_char(round(0.3253665,4) *100,'990.99')||'%' from dual;
2.时间的一些计算问题
求一个月所在的季度问题,以及数据的查询时间的起始和终止时间,即 查询粒度问题
季度
开始时间
select substr($begintime, 1, 4) ||lpad(ceil(to_number(substr($begintime, 5, 2) ) / 3 - 1) * 3 + 1,
2,
0)
from dual
自己在使用的时候注意先试试看,有可能会需要涉及一些时间转换的问题。
终止时间()
select to_char(add_months(to_date(substr($endtime, 1, 4) ||lpad(ceil(to_number(substr($endtime,
5,
2)) / 3) * 3,
2,
0),
'yyyymm'),1),
'yyyymmdd')
from dual
--查询出的结果应该是下一个季度的第一天,这个语句应该是有错误的,主要是函数的转换这块。
时间的加减问题
天数的加减
直接在时间后面直接 “+ number” 就可以了
小时的加减
在时间后面 “+number/24”
分钟
+number/60/24
月加减 直接函数搞定
ADD_minths
- oracle学习总结(1)
- oracle学习总结(一)
- oracle学习总结(二)
- oracle学习总结(三)
- oracle学习总结(四)
- oracle学习总结(一)
- oracle学习总结(二)
- oracle学习总结(三)
- oracle学习总结(四)
- oracle学习总结(一)
- oracle学习总结(二)
- oracle学习总结(三)
- oracle学习总结(四)
- oracle学习总结----oracle常用命令
- Oracle总结(1)
- oracle总结(1)
- oracle学习总结一(基础)
- oracle学习总结二(转义字符)
- ibatis 配置总结
- HDU 1248 寒冰王座
- OpenGL函数库详解
- 提高编程基本功走不得捷径
- version`LIBAIO_0.4' not found的解决方法
- oracle学习总结(1)
- 面试题 背包问题的具体应用 打印出对应的序号
- 用汇编语言求一组数的最大值和最小值
- C#语言使用PictureBox控件鼠标进入的手形改变和提示
- openssl
- 机房收费——思想上移
- cocos2d 学习之路 (一)
- json与字符串的相互转化
- Java学习笔记(集合)