Oracle与日期相关函数及技巧(超全)

--date类型的sysdate,timestamp类型的SYSTIMESTAMP,后者精度高

--date 转为 timestamp
select cast(sysdate as timestamp) from dual;

--timestamp 转为 date
select to_date(to_char(SYSTIMESTAMP,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual;

select SYSTIMESTAMP+0 from dual;

--对sysdate的运用
select 
	to_char(sysdate, 'yyyy') 年,
    to_char(sysdate, 'mm') 月,
    to_char(sysdate, 'dd') 日,
    to_char(sysdate, 'hh24') 时,
    to_char(sysdate, 'mi') 分,
    to_char(sysdate, 'ss') 秒,
    to_char(sysdate, 'day') 周几,
    to_char(sysdate, 'q') 第几季度,
    to_char(sysdate, 'w') 当月第几周,
    to_char(sysdate, 'ww') 当年第几周,
    to_char(sysdate, 'd') 当周第几天,
    to_char(sysdate, 'ddd') 当年第几天    
from dual;

--其他时间运用
SELECT 
	current_date,--当前时间(date)
	localtimestamp,--当前时间(timestamp)
	current_timestamp,--当前时间(timestamp) + 当前时区
	sessiontimezone,--当前时区
	dbtimezone --数据库所在时区
from dual;

--TO_CHAR:将日期转换为字符串,可以截取某一部分
select TO_CHAR(sysdate,'yyyymm') from dual;

--TO_DATE:将字符串转换为日期
select TO_DATE('20130104','yyyymmdd') from dual;

--ADD_MONTHS:增加月份的函数
select ADD_MONTHS(sysdate,1),ADD_MONTHS(sysdate,-1) from dual;

--直接在日期上面加减数字,表示的是天,配合乘除可以到小时,分钟,秒
select sysdate+1,sysdate+(1/24),sysdate+(1/(24*60)),sysdate+(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值