日期类型:date,timestamp
一、获取当前时间
1.当前操作系统的时间:select sysdate from dual;
2.当前时区的时间:select current_date from dual;
3.timestamp数据类型格式的系统时间:select systimestamp from dual;
二、日期格式和字符串格式转换
4.字符串转日期:to_date('字符串',格式)
5.日期串转字符串:to_char(日期,格式)
三、日期样式更改、获取日期部分信息
6.to_char(sysdate,'要更改的样式')
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; //日期转化为字符串
select to_char(sysdate,'yyyy') from dual; //获取时间的年
select to_char(sysdate,'mm') from dual; //获取时间的月
select to_char(sysdate,'dd') from dual; //获取时间的日
select to_char(sysdate,'hh24') from dual; //获取时间的时
select to_char(sysdate,'mi') from dual; //获取时间的分
select to_char(sysdate,'ss') from dual; //获取时间的秒
四、日期计算
7.两个日期相隔的月份数:months_between(日期1,日期2)
8.两个日期相隔的天数:都是日期格式 可直接相减,date1-date2
select sysdate-to_date('2000-01-11','yyyy-mm-dd') from dual;
9.求某天是星期几 : select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
10.某日期后的N月:add_months(某日期, N)
11.日期对比
取时间最早的日期:least(日期1,日期2)
取时间最近的日期:greatest(日期1,日期2)
12.取指定日期的最后一天:last_day(日期)
13.获取下一个星期几是哪天:next_day(日期列,'星期几') --星期几可以为:Sunday/ Monday/Tuesday/Wendnesday/Thursday/Friday /Saturday
计算年龄
14.SELECT TRUNC(months_between(sysdate, 出生日期)/12) AS "Age" FROM dual;