oracle(11)_SQL_单行函数_日期函数

SQL

单行函数

日期函数

● Oracle 中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律:

  • 日期 – 数字 = 日期
  • 日期 + 数字 = 日期
  • 日期 – 日期 = 数字(天)

范例:查询雇员的进入公司的周数

  • 分析:查询雇员进入公司的天数 (sysdate – 入职日期) / 7 就是周数
  • 示例图:
    oracle(11)_SQL_单行函数_日期函数

范例:查询所有雇员进入公司的月数

  • 分析:获得两个时间段中的月数:MONTHS_BETWEEN()
  • 示例图:
    oracle(11)_SQL_单行函数_日期函数

范例:求出三个月后的日期

  • 获得几个月后的日期:ADD_MONTH()
  • 示例图:
    oracle(11)_SQL_单行函数_日期函数

范例:求出下一个星期一是什么日期

  • 指定给出下次某日期数 NEXT_DATE()
  • 示例图:
    oracle(11)_SQL_单行函数_日期函数

范例:求出本月的最后一天是几号

  • 求出一个日期所在月的最后一天
  • 示例图:
    oracle(11)_SQL_单行函数_日期函数

以上操作完整源码:

--当前日期
select sysdate from dual;

--得到入职周数
select ename, trunc((sysdate - hiredate)/7) from emp;

--得到入职月数
select ename, trunc(months_between(sysdate, hiredate)) from emp;

--当前日期加 12 个月的日期
select add_months(sysdate, 12) from dual;

--下一个星期六是哪天
select next_day(sysdate, '星期六') from dual;

--当前月的最后一天是哪天
select last_day(sysdate) from dual;

如有错误,欢迎指正!