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