Oracle中单行函数之(日期函数)

本文主要介绍的是Oracle中的单行函数的知识点。
Oracle中的单行函数有五种:字符函数、数字函数、日期函数、转换函数和通用函数。
日期函数

SELECT SYSDATE FROM dual;
--结果
SYSDATE
-----------
30-六月-12 18

--日期+/-数字=日期
SELECT SYSDATE + 3,SYSDATE - 30 FROM dual;
SYSDATE+3   SYSDATE-30
----------- -----------
03-七月-12 18 31-五月-12 18

--日期-日期=数字
SELECT ename, SYSDATE - hiredate FROM emp;
--结果
ENAME      SYSDATE-HIREDATE
---------- ----------------
SMITH      11518.7580787037
ALLEN      11453.7580787037
WARD       11451.7580787037
JONES      11412.7580787037
MARTIN     11233.7580787037
BLAKE      11383.7580787037
CLARK      11344.7580787037
SCOTT       9204.7580787037
KING       11183.7580787037
TURNER     11253.7580787037
ADAMS       9170.7580787037
JAMES      11167.7580787037
FORD       11167.7580787037
MILLER     11116.7580787037
 
14 rows selected

--求出本月的最后一天日期
SELECT LAST_DAY(SYSDATE) FROM dual;
--结果
LAST_DAY(SYSDATE)
-----------------
30-六月-12 18:16:33

--求出下一个周一
SELECT NEXT_DAY(SYSDATE,'星期一') FROM dual;
--结果
NEXT_DAY(SYSDATE,'星期一')
--------------------------
02-七月-12 18:18:28

--求出学习的最晚毕业时间
SELECT ADD_MONTHS(SYSDATE,4) FROM dual;
--结果
ADD_MONTHS(SYSDATE,4)
---------------------
31-十月-12 18:20:32

--求出每个雇员到今天为止的雇佣日期为
SELECT ename,hiredate,MONTHS_BETWEEN(SYSDATE,hiredate) FROM emp;
--结果
 
ENAME      HIREDATE    MONTHS_BETWEEN(SYSDATE,HIREDAT
---------- ----------- ------------------------------
SMITH      17-十二月-80               378.444125597372
ALLEN      20-二月-81                376.347351403823
WARD       22-二月-81                376.282835274791
JONES      02-四月-81                374.927996565114
MARTIN     28-九月-81                369.089286887694
BLAKE      01-五月-81                 373.96025462963
CLARK      09-六月-81                372.702190113501
SCOTT      19-四月-87                302.379609468339
KING       17-十一月-81               367.444125597372
TURNER     08-九月-81                369.734448178017
ADAMS      23-五月-87                301.250577210275
JAMES      03-十二月-81               366.895738500597
FORD       03-十二月-81               366.895738500597
MILLER     23-一月-82                365.250577210275
 
14 rows selected

SELECT ename,hiredate,TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)) FROM emp;
--结果
ENAME      HIREDATE    TRUNC(MONTHS_BETWEEN(SYSDATE,H
---------- ----------- ------------------------------
SMITH      17-十二月-80                            378
ALLEN      20-二月-81                             376
WARD       22-二月-81                             376
JONES      02-四月-81                             374
MARTIN     28-九月-81                             369
BLAKE      01-五月-81                             373
CLARK      09-六月-81                             372
SCOTT      19-四月-87                             302
KING       17-十一月-81                            367
TURNER     08-九月-81                             369
ADAMS      23-五月-87                             301
JAMES      03-十二月-81                            366
FORD       03-十二月-81                            366
MILLER     23-一月-82                             365
 
14 rows selected


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值