Oracle 時間和日期處理


-- Oracle時間
SELECT SYSDATE FROM  dual;  -- 系統時間   
SELECT SYSTIMESTAMP FROM  dual;  -- 當前系統時間戳
SELECT CURRENT_TIMESTAMP FROM  dual;  -- 與時區設置有關,返回的秒是系統的,返回的日期和時間是根據時區轉換過的
SELECT current_date FROM  dual;  -- 是對CURRENT_TIMESTAMP准確到秒的四舍五入
select SYSDATE ,systimestamp,current_date,current_timestamp from dual;


-- 時間差計算
DECLARE
START_DATE DATE;
END_DATE DATE;
BEGIN
  START_DATE := SYSDATE - 1 ;
  END_DATE := SYSDATE  ;
  dbms_output.put_line('相差天數 :' || ROUND(TO_NUMBER(END_DATE - START_DATE)));
  dbms_output.put_line('相差小時數 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24));
  dbms_output.put_line('相差分鍾數 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60));
  dbms_output.put_line('相差秒數 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60));
  dbms_output.put_line('相差毫秒數 :' || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000));
END;


-- 字符串轉時間類型
SELECT to_date('2018-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss') FROM dual;

-- 時間類型轉字符串
select to_char(sysdate,'yyyy-mm-dd hh24::mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;


-- 時間日期加減
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小時
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分鍾
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
--------------------------------------------------------------------------------------
select sysdate,add_months(sysdate,-12) from dual; --減1年
select sysdate,add_months(sysdate,-1) from dual; --減1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --減1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --減1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --減1小時
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --減1分鍾
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --減1秒


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM