Oracle 10g資料庫管理 應用與開發 五

2021-08-31 10:08:42 字數 2685 閱讀 3167

3、日期時間函式,oracle 中的日期型資料實際含有兩個值: 日期和時間。預設的日期格式是dd-mon-rr.日期時間函式用來返回當前系統的日期和時間、以及對日期和時間型別的資料進行處理運算。

add_months(date,count):在指定的日期上增加count個月

last_day(date):返回日期date所在月的最後一天

months_between(date1,dates):返回date1到date2之間間隔多少個月

new_time(date,this』,』other』):將時間date從this時區轉換成other時區

next_day(day,』day』):返回指定日期或最後一的第乙個星期幾的日期,這裡day為星期幾

sysdate():獲取系統的當前日期

current_timestamp():獲取當前的時間和日期值

round:日期的四捨五入

trunc:日期的擷取

日期的數**算:

  在日期上加上或減去乙個數字結果仍為日期。

  兩個日期相減返回日期之間相差的天數。

  可以用數字除24來向日期中加上或減去小時。

//獲取系統的當前時間 顯示的格式採用預設格式 顯示結果:07-4月 -11 11.15.38.390000 上午 +08:00

sql> select current_timestamp from dual;

//獲取系統的當前日期值 顯示結果:2011-4-7 11

sql> select sysdate from dual;

//為當前日期加上3個月 顯示的結果:2011-7-7 11:18:36

select add_months(sysdate,3) from dual;

//返回當前月的最後一天 顯示的結果:2011-4-30 11:19:4

select last_day(sysdate) from dual;

//返回兩個日期之間的間隔月是幾: 結果為:4

sql> select months_between(add_months(sysdate,4),sysdate) from dual;

//從gmt時區轉換成ast時區的日期結果

sql> select new_time(sysdate,'gmt','ast') from dual;

//返回下乙個星期一的日期值 必須寫成星期』幾』

sql> select next_day(sysdate,'星期一') from dual;

4、轉換函式

隱式轉換:在運算過程中由系統自動完成的

顯式轉換:在運算過程中需要調

隱式轉換

顯式轉換

to_char(date,』format』):按照指定的格式format把數字或日期型別的資料轉換成字串

格式:必須包含在單引號中而且大小寫敏感。

可以包含任意的有效的日期格式。

日期之間用逗號隔開。

日期格式如下:

//把當前日期轉換成yyyy/mm/dd的格式

sql> select to_char(current_timestamp,'yyyy/mm/dd') from dual;

//把當前日期轉換成yyyy/mm/dd hh24/mi/ss am的格式

sql> select to_char(current_timestamp,'yyyy/mm/dd hh24/mi/ss am') from dual;

//dd 「of」 month

sql> select to_char(current_timestamp,'yyyy dd "of" month hh/mi/ss am') from dual;

//把當數字按照$99,999這種方式返回字串 並且運算元的位數不能夠大於5(即$後邊的位數)位,否則話結果會是########

sql> select to_char(11111,'$99,999') from dual;

to_number(char);把包含了數字格式的字串轉換成數字資料

to_date(string,』format』);按照指定格式的format把字串轉換成日期資料,如果省略了foramt格式,那麼就採用預設的日期格式(dd-mon-yy);

//把當前字串轉換成日期

sql> select to_date('2011-02-08','yyyy-mm-dd') from dual;

//求出兩個日期之間相差的天數

sql> select to_date('2011-07-15','yyyy-mm-dd')-to_date('2011-02-08','yyyy-mm-dd') from dual;

//求出兩個日期之間相差的周次

sql> select (to_date('2011-07-15','yyyy-mm-dd')-to_date('2011-02-08','yyyy-mm-dd'))/7 from dual;

//對周次進行向上取整

sql> select ceil((to_date('2011-07-15','yyyy-mm-dd')-to_date('2011-02-08','yyyy-mm-dd'))/7) from dual;

chartorowid(char);把字串轉換成rowid型別

rowidtochar(x);把rowid型別轉換成字元型別資料

Oracle 10g資料庫管理

oracle 10g資料庫管理 課程介紹 本課程面向企業 oracle 10g 資料庫管理的學員。通過 oracle 10g 資料庫管理課程的系統培訓,使學員能夠在較短的時間內掌握 oralcle10g 資料庫管理和維護的各種技術,從而掌握最新版 oracle 的新特性和 oracle 資料通用技術...

Oracle 10g資料庫管理 應用與開發 八

十 六 修改sql資料 dml data manipulation language 執行資料操作任務的語言,dml也是pl sql語言的重要組成部分。常用的dml語言包括insert update delete語句,它們分別完成了對資料庫的新增 修改和刪除等操作。1 新增資料 1.1簡單的inse...

Oracle 10g資料庫管理 應用與開發 二十

23.2.7游標變數 游標變數也可以處理多行查詢結果集。游標變數的定義包括兩個步驟 1 定義cursor 型別的指標 語法 type ref cursor name is ref cursor return return type 舉例 type var cursor name is ref cur...