Oracle 獲取當前日期及日期格式

2021-07-09 12:32:30 字數 2679 閱讀 3792

oracle 獲取當前日期及日期格式

獲取系統日期: 

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 獲取當前日期及日期格式 獲取系統日期 sysdate 格式化日期 to char sysdate yy mm dd hh24 mi ss 或 to date sysdate yy mm dd hh24 mi ss 格式化數字 to number 注 to char 把日期或數字轉換為字...

Oracle 獲取當前日期及日期格式

oracle 獲取當前日期及日期格式 獲取系統日期 sysdate 格式化日期 to char sysdate yy mm dd hh24 mi ss 或 to date sysdate yy mm dd hh24 mi ss 格式化數字 to number 注 to char 把日期或數字轉換為字...

Oracle 獲取當前日期及日期格式

oracle 獲取當前日期及日期格式 返回系統日期,輸出 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...