-- 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