Oracle 時間 問題總結精華版

2021-08-09 02:12:50 字數 2777 閱讀 6305

1.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周

獲取系統日期: 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;

select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual; 年月 日 24制小時 分 秒 上/下午 星期中文;

--獲取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

2.查詢當天 案件總數???

select day,count(*) sum from (

select 

trunc(b.create_time) day,

count(*) as c from tablename b 

where b.subtypeid != -1 

and b.create_time >=

to_date(sysdate)

group by b.create_time

)d group by day order by day desc;

oracle 時間問題

今天用到oracle時間比較,看到網上也有很多,自己就總結了下啊 1,比較兩個時間的大小 也可以是字串表示時間 select from table where to date 欄位1,yyyy mm dd hh24 mi ss to date 2012 2 8 yyyy mm dd hh24 mi ...

oracle時間問題 與case then

select from nls session parameters where parameter nls date language 修改會話的預設日期格式 alter session set nls date format yyyy mm dd 臨時改變一下會話的預設語言,以識別類似 12 m...

時間問題3

問題及 檔名稱 main.cpp 作 者 李磊濤 版 本 號 v1.0 問題描述 輸入時間輸出時間。輸入描述 時間時分秒和要增加的時分秒。程式輸出 時間時分秒。includeusing namespace std class time void time add a sec void time ad...