Oracle查询语句对日期的处理

-- Oracle时间格式处理(字符串处理)
select sysdate from dual --返回当前日期+时间

-- trunc 是用来截取的

select trunc(sysdate) from dual --返回当前日期
select trunc(sysdate,'dd') from dual --返回当前年月日

select trunc(sysdate, 'year') from dual -- 返回当年第一天
select trunc(sysdate,'yy') from dual--返回当年第一天
select trunc(sysdate,'yyyy') from dual--返回当年第一天

select trunc(sysdate, 'q') from dual --截取到季度(当前季度的第一天)

select trunc(sysdate, 'month') from dual --返回当月第一天
select trunc(sysdate,'mm') from dual--返回当月第一天

select trunc(sysdate,'d') from dual  --返回当前星期的第一天

select trunc(sysdate, 'hh') from dual  --当前时间,精确到小时
select trunc(sysdate, 'mi') from dual  --当前时间,精确到分钟   
-- select trunc(sysdate, 'ss') from dual  -- 没有这种写法,TRUNC()函数没有秒的精确


-- to_char 字符串转化
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual   --日期转化为字符串  
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') as nowTime from dual         --日期(24小时)
select to_char(sysdate,'yyyy') as nowYear   from dual   --年  
select to_char(sysdate,'mm')  as nowMonth from dual   --月  
select to_char(sysdate,'dd')  as nowDay from dual   --日  
select to_char(sysdate,'hh24') as nowHour   from dual  --时  
select to_char(sysdate,'mi')    as nowMinute from dual  --分  
select to_char(sysdate,'ss')    as nowSecond from dual   --秒


-- to_date 转化成时间
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual

-- 根据日期求星期 monday   
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual 
-- 日期相隔的天数
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual

-- 查询月份的差值
select  months_between( to_date('20011201','yyyymmdd') , to_date('20011231','yyyymmdd') ) from dual


-- 查询一年的第几天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值