oracle的查詢語句中to date()是什麼意思,那裡面的引數分別代表什麼含義

時間 2021-09-11 22:34:39

1樓:匿名使用者

oracle的查詢語句中to_date()是一個日期轉換函式。

1.日期格式引數含義說明 :

d    一週中的星期幾

day    天的名字,使用空格填充到9個字元

dd    月中的第幾天

ddd    年中的第幾天

dy     天的簡寫名

iw    iso標準的年中的第幾周

iyyy    iso標準的四位年份

yyyy    四位年份

yyy,yy,y    年份的最後三位,兩位,一位

hh    小時,按12小時計

hh24    小時,按24小時計

mi    分

ss    秒

mm    月

mon    月份的簡寫

month    月份的全名

w    該月的第幾個星期

ww    年中的第幾個星期

用法舉例:

日期和字元轉換函式用法(to_date,to_char)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowtime from dual;   //日期轉化為字串

select to_char(sysdate,'yyyy')  as nowyear   from dual;   //獲取時間的年

select to_char(sysdate,'mm')    as nowmonth  from dual;   //獲取時間的月

select to_char(sysdate,'dd')    as nowday    from dual;   //獲取時間的日

select to_char(sysdate,'hh24')  as nowhour   from dual;   //獲取時間的時

select to_char(sysdate,'mi')    as nowminute from dual;   //獲取時間的分

select to_char(sysdate,'ss')    as nowsecond from dual;   //獲取時間的秒

2. 字串和時間互轉

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual

select to_char( to_date(222,'j'),'jsp') from dual //顯示two hundred twenty-two

2樓:匿名使用者

d)to_date使用詳解

時常使用to_date函式來查詢特定時間內的資料。

語法:to_date(x [, format])用於將字串x轉換為時間值,該函式可以指定一個可選的字串format引數來說明x的格式。

如果沒有指定format引數,日期就使用預設的資料庫格式(通常是dd-mon-yyyy或dd-mon-yy)。

注意:資料庫引數nls_date_format指定了預設的日期格式。可以修改nls_date_format的設定。

2. 指定時間

當然,在時間值中也可以指定時間。如果在時間值中沒有指定時間,那麼時間值的時間部分預設為12:00:

00 a.m.。時間可以使用前面表5-2所示的各種格式。

時間格式的一個例子是hh24:mi:ss,其中:

● hh24是一個2位數字,表示24小時格式中的小時數,該值的範圍為00~23。

● mi 是一個2位數字,表示分鐘,該值的範圍為00~59。

● ss 是一個2位數字,表示秒,該值的範圍為00~59。

使用hh24:mi:ss格式的一個時間的例子是19:23:36。使用這個時間的一個完整時間值是:

05-feb-1968 19:32:36

這個時間值的格式為:

dd-mon-yyyy hh24:mi:ss

to_data(date&time,format)

其中第一個引數date&time是我們要查詢的具體日期和時間,比如:2023年5月21日。但是這個時間也分

為很多種精度的,比如:

2023年5月21日

2023年5月21日17:24

2023年5月21日17:34分55秒

這個精度要根據實際情況來定。

另外一個引數format決定的日期的表示方法,比如:

2023年5月21日 可以表示為:060521、20060521、2006feb21等等

而他們對應的format為

060521 yymmdd

20060521 yyyymmdd

2006feb21 yyyymondd

示例:select * from book where intime=to_date('2003/02/17/17/53/55','yyyy/mm/dd/hh24/mi/ss')

上面的語句是查詢:2023年8月17日下午5點53分55秒,入庫的書本。

其實用下面的寫法也是可以的

select * from book where intime=to_date('20030217175355','yyyymmddhh24miss')

select * from book where intime=to_date

('2003-02-17-17-53-55','yyyy-mm-dd-hh24/-i-ss')

中間的連字元"/"、":"或是"-",並不影響表達,只是為了更加容易看清楚。

表示年份有以下幾種格式,及這種格式對應的表達方法:

2023年為例

yyyy 2003

yyy 003

yy 03

月份表示格式及表達方法:

二月分為例

mm 08

rm iix(羅馬數字)

month february

mon feb

日期的格式及表達方法:

17號為例

ddd 76 2月的17日在本年度(不是閏年的情況)是多少天

dd 17 在本月中是號(17號)

d 在這一個星期是哪天

星期的格式和表示方法:

星期一為例

day monday 全名顯示

dy mon 縮寫

小時的格式和表示方法:

hh24 18 二十四小時制

分鐘的格式和表示方法:

mi 32 該小時32分鐘

秒的表示方法

ss 28 該分鐘28秒

3樓:

to_date是將一個日期的字串 轉換成為日期即varchar轉 date

to_date('2010-01-01','yyyy-mm-dd');

第一個引數是要轉成日期的資料

第二個是轉成的格式

4樓:匿名使用者

to_date('2011-1-1','yyyy-mm-dd') 將這字元型別的轉化為格式型別的,前面的是要轉化的值,後面是格式,兩邊要一致

5樓:

to_date將欄位轉換成date型別,第一個欄位是你輸入的字串,第二個是日期的格式,比如yyyy-mm-dd

6樓:聯想汪浩

to_date(char,'formate')含義:將char轉換成指定日期格式。

例如:to_date('79-01-31','yy-mm-dd')就是79年1月31日。

yy是年

mm是月

dd是日

7樓:匿名使用者

格式化 filename 欄位,只顯示60個字元

回答的不好,你還可以問問gg

oracle查詢語句中判斷列表中的值和當前日期相差的天數是否

假設表t,欄位s time是你需要的列 1 若s time為date型別,計算相差天數的sql語句 select trunc sysdate trunc s time from t where 你需要的條件 2 若s time為varchar2型別,計算相差天數的sql語句 select trunc...

oracle語句查詢or和and

firstname thomas or firstname william and lastname carter 會得到 lastname 必須為 carter firstname 為 thomas 或者 william的人 thomas carter william carter firstna...

oracle資料庫查詢語句,oracle 資料庫查詢語句

select sum bal cifno from select from a cross join b group by cifno order by 1 如果select from a cross join b不顯示或者顯示錯誤,那麼可以換為select from a union all sel...