sql关于时间的函数

alter session set nls_date_format='YYYY-MM-DD';
select add_monthS('2014-11-15',12) from dual;
--增加12个月份以后的时间,可以是负值  负值为过去的时间


select last_day('2014-11-21') from dual;
--返回当前月份的最后一天的时间


select months_between('2014-11-21','2014-05-20') from dual;
--返回两个时间相差几个月  若想结果为正 则稍晚的时间必须在前面


select next_day('2014-11-21',2) from dual;
--返回下周的第几天  按照老外的习惯 周日为第一天


select round(to_date('2014-11-21'),'YYYY') from dual;
2015-01-01
select round(to_date('2014-11-21'),'MM') from dual;
2014-12-01


select TO_CHAR(round(to_date('2014-11-21 15:16:30','YYYY-MM-DD HH24:MI:SS'),'HH24'),'YYYY-MM-DD HH24:MI:SS') 
from dual;
--对时间进行取整


select sysdate from dual;
--返回数据库服务器的操作系统中设置的时间


SELECT TO_CHAR(sysdate,'YYYY-MM-DD HH24-MM-DD') FROM DUAL;
select TRUNC(TO_DATE('2014-11-21'),'YYYY') FROM DUAL;
2014-01-01
select TRUNC(TO_DATE('2014-11-21'),'MM') FROM DUAL;
2014-11-01
select TO_CHAR(TRUNC(TO_DATE('2014-11-21 15:16:30','YYYY-MM-DD HH24:MI:SS'),'HH24'),'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;
--截取时间 按年 月 日




UTC:协调世界时间
EST:美国东部时间 -05:00
PST:太平洋标准时间 -08:00








--与时区有关的函数
select dbtimezone from dual;
+00:00
--返回当前数据库的时区


会话时区
alter session set time_zone='Asia/Shanghai';
--更改时区
select sessiontimezone from dual;
Asia/Shanghai
--查看当前会话的时区
select current_date from dual;
--查看当前会话中的时间


select TZ_OFFSET('PST') FROM DUAL;
-08:00 
--查看时间差 


select * from v$timezone_names 
where rownum<5 order by tzabbrev;
Africa/Abidjan GMT
Africa/Accra GMT
Africa/Accra LMT
Africa/Abidjan LMT


show user;
SELECT TO_DATE(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
2014-11-21
--转换时区
select to_char(new_time(to_date('2014-11-21 16:09:21','YYYY-MM-DD HH24:MI:SS'),'PST','EST'),'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;
PST比EST晚3个小时


timestamp:存储秒的小数位
timestamp with time zone:用于存储时区
timestamp with local time zone:将给定的时间转换成数据库本地时区
如果数据库已经实现全球 那么存储时间的类型就必须为它




select current_timestamp,localtimestamp,systimestamp from dual;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29749380/viewspace-1347200/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29749380/viewspace-1347200/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值