Oracle數據庫時間用法


Oracle中如何獲取 系統當前時間
 
 
ORACLE里獲取系統時間
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
 
ORACLE里獲取一個時間的年、季、月、周、日的函數
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, 'Q') from dual; --季
select to_char(sysdate, 'iw') from dual; --周
按日歷上的那種,每年有52或者53周
/* 
hh: 小時(12)
hh24:小時(24)
Mi: 分
ss: 秒
D: 周中的星期幾
ddd: 年中的第幾天
WW: 年中的第幾個星期
W: 該月中第幾個星期 --每年的1月1號至1月7號為第一周,以此類推,每年53周
*/ 
   
獲取系統日期:
sysdate()
格式化日期:
to_char(sysdate(),'YY/MM/DD HH24:MI:SS)
to_date(sysdate(),'YY/MM/DD HH24:MI:SS)
 
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual;
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss') from dual;
而如果把上式寫作: 
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh:mi:ss') from dual;
則會報錯,因為小時hh是12進制,14為非法輸入,不能匹配
 
轉換的格式:
表示 year 的:
y: 表示年的最后一位
yy: 表示年的最后2位
yyy: 表示年的最后3位
yyyy: 用4位數表示年
 
表示 month 的:
mm: 用2位數字表示月
mon: 用簡寫形式, 比如11月或者nov
month:用全稱, 比如11月或者november
 
表示 day 的:
dd: 表示當月第幾天
ddd: 表示當年第幾天
dy: 當周第幾天,簡寫,比如星期五或者fri
day: 當周第幾天,全稱,比如星期五或者friday
 
表示 hour 的: 
hh: 2位數表示小時 12進制
hh24: 2位數表示小時 24小時 
 
表示 minute 的: 
mi: 2位數表示分鍾 
 
表示 second 的: 
ss: 2位數表示秒 60進制 
 
表示季度的: 
q: 一位數表示季度(1-4) 
另外還有 ww 用來表示當年第幾周 w 用來表示當月第幾周
 
當前時間減去7分鍾的時間
select sysdate,sysdate - interval '7' minute from dual;
 
當前時間減去7小時的時間
select sysdate - interval '7' hour from dual;
 
當前時間減去7天的時間
select sysdate - interval '7' day from dual;
 
當前時間減去7月的時間
select sysdate,sysdate - interval '7' month from dual;
 
當前時間減去7年的時間
select sysdate,sysdate - interval '7' year from dual;
 
時間間隔乘以一個數字
select sysdate,sysdate - 8*interval '7' hour from dual;  
 
年 月 日 24制小時 分 秒 上/下午 星期中文
select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual;
 
獲取11月天數
select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;
 
獲取12月天數
select to_char(last_day(to_date('2010-12-1','YYYY-MM-DD')),'DD') from dual;
 
顯示上個禮拜一到禮拜日
select to_char(sysdate,'yyyymmdd') - to_number(to_char(sysdate,'d')- 1) - 6, to_char(sysdate,'yyyymmdd')-to_number(to_char(sysdate,'d')-1) from dual;


免責聲明!

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



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