Oracle 日期那些事

2021-07-04 12:51:54 字數 2653 閱讀 7265

獲取系統日期: 

sysdate()

格式化日期: 

to_char(sysdate(),'yy/mm/dd hh24:mi:ss)

或 to_date(sysdate(),'yy/mm/dd hh24:mi:ss)

格式化數字: 

to_number

注: to_char  把日期或數字轉換為字串 

to_char(number, '格式') 

to_char(salary, '$99,999.99') 

to_char(date, '格式')

to_date  把字串轉換為資料庫中的日期型別

to_date(char, '格式')

to_number  將字串轉換為數字 

to_number(char, '格式')

返回系統日期,輸出 25-12月-09

select sysdate from dual;

mi是分鐘,輸出 2009-12-25 14:23:31

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

mm會顯示月份,輸出 2009-12-25 14:12:31 

select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;

輸出 09-12-25 14:23:31

select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual 

輸出 2009-12-25 14:23:31

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為非法輸入,不能匹配。

輸出 $10,000,00 :

select to_char(1000000,'$99,999,99') from dual;

輸出 rmb10,000,00 : 

select to_char(1000000,'l99,999,99') from dual;

輸出 1000000.12 :

select trunc(to_number('1000000.123'),2) from dual;

select to_number('1000000.123') from dual;

轉換的格式:

表示 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用來表示當月第幾周。

24小時制下的時間範圍:00:00:00-23:59:59

12小時制下的時間範圍:1:00:00-12:59:59

數字格式:  9  代表乙個數字 

0  強制顯示0 

$  放置乙個$符 

l  放置乙個浮動本地貨幣符 

.  顯示小數點 

,  顯示千位指示符

補充:當前時間減去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;

含**釋: 

dual偽列

dual 是 oracle中的乙個實際存在的表,任何使用者均可讀取,常用在沒有目標表的select語句塊中。

不同系統可能返回日期的格式不一樣。

返回當前連線的使用者:select user from dual;

oracle啟動那些事

身為乙個oracle新手,總結下最近學的東西 0.oracle的很多資訊都儲存在了警報日誌檔案中 alert log 在資料庫出現問題的時候,提示中給出的可能不是完整的資訊,而警報日誌中則記錄了完整的錯誤過程和錯誤號。oracle啟動主要包含三個步驟 1.啟動到nomount狀態 2.啟動到moun...

那些人,那些事

很久沒有整理一下自己的思緒,聽著熟悉的歌,那歌聲會讓我想起那些人,那些事.乙個標點,乙個符號,乙個個早已在歲月深處冰封的眼神,一段沒有伴侶的歸途。一直以來我都認為我的人生就是這樣,平平淡淡,安安靜靜,波瀾不驚地在歲月的 眼角劃過,不留絲毫痕跡。現在看來,原來我寫的東西在很大程度上是是在滿足自己的某種...

那些人,那些事

一年前的今天,我大概和bi11一起奔波於各大招聘會上,白天各睡各的覺,晚上一起在工作室寫著程式 那時候似乎成都已經很冷,工作室有著溫暖的空調.而現在猛烈的陽光一件薄薄的襯衫真讓我不敢相信已經是十一月了.我在成都待了四年,說實話我不喜歡成都,不過還是有著很多讓人快樂的人和事給了我很多快樂的回憶.先說說...