--********************日期函式
--獲取當前系統時間
select sysdate from dual;
獲取的是當前系統的時間
--查詢距離今天3天後,和3天前的日期
selectsysdate 今天,
sysdate-3
三天前,
sysdate+3
三天後
from dual;
--查詢出每個員工入職到今天的入職天數,以及十天前每個員工的入職天數
selecte.hiredate 入職日期,
sysdate 今天,
sysdate
-e.hiredate 入職到今天的天數,
sysdate-10
-e.hiredate 十天前的入職天數
from emp e;
--使用trunc擷取天數
selecte.hiredate 入職日期,
sysdate 今天,
trunc(sysdate
-e.hiredate) 入職到今天的天數,
trunc(sysdate-10
-e.hiredate) 十天前的入職天數
from emp e;
--months_between(日期1,日期2)求出2個日期之間的月數
--add_months(日期,數字) 求出在指定日期上加或者減指定的月數,數字,可以為正也可以為負
--next_day(日期,星期幾)求出下個星期的具體日期
--last_day(日期 )指定日期的最後一天的日期
--extract(格式 from 日期)將日期分豁,或者計算2個日期的間隔
--add_months(日期,數字)
selectsysdate 當前日期,
add_months(sysdate,
3) 三個月之後的日期,
add_months(sysdate,-3
) 三個月之前的日期,
add_months(sysdate,
60) 六十個月之後的日期
from dual;
--查詢所有員工在入職3個月後的日期
select e.empno,e.ename,e.hiredate,add_months(e.hiredate,3)入職三個月的日期
from emp e;
--next_day(日期,星期幾)
selectsysdate 當前日期,
next_day(sysdate,
'星期五
') 下個星期五,
next_day(sysdate,
'星期一
') 下個星期一
from dual;
--last_day()乙個月的最後一天日期
select sysdate,last_day(sysdate) from dual;
獲取當前月的最後一天日期
--查詢所有在入職日期在當月最後第三天入職的員工,最後一天-2
selecte.empno,e.ename,e.hiredate
from
emp e
where e.hiredate=last_day(e.hiredate)-
2;
--months_between
--查詢每個員工的編號,姓名,入職日期,入職的月數和年份
--月數months_between(sysdate,hiredate)年數months_between(sysdate,hiredate)/12
selecte.empno,e.ename,e.hiredate,
trunc(months_between(sysdate,e.hiredate)) 入職的月數,
trunc(months_between(sysdate,e.hiredate)/12
) 入職的年數
from emp e;
--查詢每個員工的編號,姓名,入職日期,已經入職的年份,月份和天數
--總月數,和12求模就是月數
--日用當前日期-(入職日期+月數)
selecte.empno,e.ename,e.hiredate,
trunc(months_between(sysdate,e.hiredate)/12
) 年,
trunc(mod(months_between(sysdate,e.hiredate),
12)) 月,
trunc(sysdate
-add_months(e.hiredate,months_between(sysdate,e.hiredate))) 日
from emp e;
--extract函式
selectsysdate,
extract(
year
from
sysdate)年,
extract(
month
from
sysdate) 月,
extract(
dayfrom
sysdate) 日
from dual;
--從時間戳中取出年,月,日,時,分,秒
selectsystimestamp,
extract(
year
from
systimestamp)年,
extract(
month
from
systimestamp) 月,
extract(
dayfrom
systimestamp) 日,
extract(hour
from
systimestamp) 時,
extract(minute
from
systimestamp) 分,
extract(second
from
systimestamp) 秒
from dual;
日期函式(學習筆記)
日期函式 獲取當前系統時間 select sysdate from dual 獲取的是當前系統的時間 查詢距離今天3天後,和3天前的日期 select sysdate 今天,sysdate 3 三天前,sysdate 3 三天後 from dual 查詢出每個員工入職到今天的入職天數,以及十天前每個...
Hive日期時間函式學習
1 日期字串與unixtime互轉 日期函式unix時間戳轉日期函式 from unixtime 語法 from unixtime bigint unixtime string format 返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的...
oracle 日期函式學習一
時間和日期處理函式 檢索年份是2007的所有 prod end資料 select from products where to number to char prod end,yyyy 2007 select from products where prod end between to date ...