Author: XuBin , MuDi Email: XuBin@tarena.com.cn , Mudi@tarena.com.cn 第 5 页
lower(first_name)='george';
数值函数:
round 函数(四舍五入) select round(45.935, 2) from dual; 不带参数时默认
为 0 位小数
trunc 函数(截取,不管后面的数字) select trunc(45.995, 1) from dual;
日期函数:
oracle 数据库中存放时间格式的数据,是以 oracle 特定的格式存贮的,占 7 个字
节,与查询时显示的时间格式无关,具体哪个字节表示什么,我不太清楚,请高
手补充。存贮的时间包括年月日时分秒,最小精度为秒,不存贮秒以下的时间单
位。因此在一些前台支持毫秒级的程序(如 PB 客户端程序)连接到 oracle 数据库
时应注意这点。查询时显示的时间格式,由会话环境决定,或者由用户定义,与
数据库无关。
select sysdate from dual; 从伪表查系统时间,以默认格式输出。
sysdate+(5/24/60/60) 在系统时间基础上延迟 5 秒
sysdate+5/24/60 在系统时间基础上延迟 5 分钟
sysdate+5/24 在系统时间基础上延迟 5 小时
sysdate+5 在系统时间基础上延迟 5 天
所以日期计算默认单位是天
内置函数:
months_between(sysdate,addmonth(sysdate,5)) //两个月有多少天。
add_months(sysdate,-5) 在系统时间基础上延迟 5 月
add_months(sysdate,-5*12) 在系统时间基础上延迟 5 年
last_day(sysdate) 一个月最后一天
next_day(sysdate,’Friday’) 下个星期星期几。
round (sysdate,’day’) 不是四除五入了,是过了中午留下,不过的略掉
trunc(sysdate,’month’) 不到一月都省略
例子:
上月末的日期:select last_day(add_months(sysdate, -1)) from dual;
本月的最后一秒:select trunc(add_months(sysdate,1),'month') - 1/24/60/60 from dual
本周星期一的日期:select trunc(sysdate,'day')+1 from dual
年初至今的天数:select ceil(sysdate - trunc(sysdate, 'year')) from dual;
格式转换函数:
to_char 显示日期:
从数字转化为 char to_char(date,'格式')
从日期转化为 char to_char(date, 'fmt' )
评论0
最新资源