Oracle 格式化日期

2021-09-24 12:07:25 字數 2597 閱讀 6269

-- start

所謂格式化日期指的是將日期轉為字串,或將字串轉為日期,下面幾個函式可以用來格式化日期。

to_char(datetime, 'format')

to_date(character, 'format')

to_timestamp(character, 'format')

to_timestamp_tz(character, 'format')

我們先來看看通過下面的 sql 產生的結果吧,注意,由於語言環境的不同,下面的顯示結果可能不同。

select to_char(current_timestamp, 'format') from dual;

format    result

yyyy-mm-dd    2015-06-15

yyyy-mon-dd    2015-jun-15

yyyy-mm-dd hh24:mi:ss ff3    2015-06-15 13:18:10 700

yyyy-mm-dd hh24:mi:ss ff3 tzr    2015-06-15 13:18:10 700 +08:00

ds    6/15/2015

dl    monday, june 15, 2015

ts    1:18:10 pm

那麼 oracle 支援哪些格式呢?看看下面的**吧

format    description

y    年的最後一位數字,如:5

yy    年的最後兩位數字,如:15

yyy    年的最後三位數字,如:015

yyyy    年,如:2015

y,yyy    年用逗號分割

syyyy    年

year    年拼寫,如:twenty fifteen

syear    年拼寫,如:twenty fifteen

i    iso年的最後一位數字,如:5

iy    iso年的最後兩位數字,如:15

iyy    iso年的最後三位數字,如:015

iyyy    iso年,如:2015

rr    兩位數字年,如:15

rrrr    四位數字年,如:2015

mm    month (01-12)

mon    月份簡稱,如:jun

month    月份全稱,如:june

rm    羅馬數字月份

d    day of week (1-7)

dd    day of month (1-31)

ddd    day of year (1-366)

hh    hour of day (1-12)

hh12    hour of day (1-12)

hh24    hour of day (0-23)

mi    minute (0-59)

ss    second (0-59)

sssss    seconds past midnight

ff [1..9]    毫秒

ds    日期簡稱,如:6/12/2015

dl    日期全稱,如:friday, june 12, 2015

ts    時間簡稱,如:5:18:03 pm

cc    世紀,如:21

scc    世紀,如:21

q    quarter of year (1, 2, 3, 4)

w    week of month (1-5)

ww    week of year (1-53)

iw    iso week of year (1-52 or 1-53)

dy    星期簡稱,如:fri

day    星期全稱,如:friday 

am     

a.m.     

pm     

p.m.     

ad     

a.d.     

bc     

b.c.     

tzd    夏令時

tzr    時區

tzh    時區之時差

tzm    時區之分鐘差

ee    era 全稱

e    era 簡稱

j    the number of days since january 1, 4712 bc

fm    去掉首尾空格

fx    精確匹配

x    秒和毫秒分隔符

th    ddth --> 4th

sp    ddsp -->four

spth    ddspth --> fourth

thsp    ddthsp --> fourth

預設情況下,oracle 格式化日期時,有一定的容錯性,如下面的 sql 返回正確的結果。

select to_date('20150612', 'yyyy/mm/dd') from dual

select to_date('2015#06#12', 'yyyy/mm/dd') from dual

如果你想精確匹配,你可以加上 fx修飾符,如:

select to_date('2015/06/12', 'fxyyyy/mm/dd') from dual

Oracle日期格式化

select 1 as fld tm cartons to char sysdate 1,month dd yyyy as fld order no,nvl ps.wmps grossweight,0 as grossweight nvl ps.wmps cubic,0 from 表 我要在sele...

Oracle資料日期格式化

oracle資料庫to date 與24小時制表示法及mm分鐘的顯示 1 採用 yyyy mm dd hh mm ssora 01810 格式作為格式進行轉換的弊端 在使用oracle的to date函式來做日期轉換時,許多程式設計師會下意識的採用 yyyy mm dd hh mm ss 格式作為格...

格式化日期

格式化日期 輸出形式取決於使用者計算機的文化設定。using system using system.globalization public class mainclass string date for int i 0 i format.length i d 07 11 2004 輸出 d su...