如何在Oracle中將時間戳轉化為日期格式

2023-05-06 20:15:06 字數 5593 閱讀 6301

1樓:司馬素枝篤妝

oracle中,日期轉換函式有很多,常用命令如下:

to_char()命令將時間戳轉換為使用者規定的日期格式,如:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;語法:to_char(x,format])

說明:將x按format格式轉換成字串。x可以是日期或者數字或時間戳,format是一個規定了x採用何種格式轉換的格式字串。

to_date()命令可以將一個日期格式的字串轉換成date型別資料,如:

select to_date('2014-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual;語法:to_date(c,format])

說明:將符合format指定的特定日期格式的字串c轉換成date型別的資料。

to_timestamp()函式可以將一個時間格式的字串轉換成時間戳。

select to_timestamp('2014-06-20 12:11:11','yyyy-mm-dd hh24:

mi:ss') from dual;語法:to_timestamp(c,format])

說明:將字串c轉換為一個時間戳資料型別。

-to_char()命令可以將時間戳轉換成字串:

select to_char( to_timestamp('2014-06-20 12:11:11','yyyy-mm-dd hh24:

mi:ss'),yyyy-mm-dd hh24:mi:

ss') from dual;

當需要進行兩個日期的比較時,不需要比較時間,可採用trunc()命令來擷取日期。

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

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

比較兩句的執行結果,可以看到差別。

2樓:龍秀榮賴詩

如果要獲取分鐘以前的,可以直接用trunc,比如:

select trunc(systimestamp,'mi') from dual;select trunc(systimestamp) from dual;

如果要獲取帶秒的,trunc就不會寫了,好像就只能通過字元轉換了:

select to_date(to_char(systimestamp,'yyyymmddhh24miss'),yyyymmddhh24miss') aa from dual;

oracle 怎麼把字串轉換成日期

oracle 字串轉換為日期格式

oracle怎麼把數值型日期轉換成日期字元型

oracle 字元型中文日期怎麼轉換成日期型

oracle 字串轉換為日期格式

3樓:海天盛

1.將字串型別轉換為數字型別,這個方法直接用to_number()進行轉換,具體的語法是to_number(str)可以進行轉換。

2.將數字型別轉換成字串型別的,這個轉換使用to_char(),它有點像上面的to_number()模式,999表示相同的內容。

3.將日期型別轉換成字串型別,這種方法其實也用的是to_char(),就是將日期格式的轉換成自己想要的格式型別的,這種方法比較個性化一點。

4. 下面的**將日期型別轉換為一種常見的字串型別,這種型別更常見,並且是一種更完整的字串格式。

5.將字串型別轉換成日期型別。這種轉換方式用to_date()進行轉換。用法也比較簡單,轉換的日期格式也是自己自定義的。

6.完成效果圖。

4樓:

你的這串字串很難直接讓資料庫識別,但是好在它有規律,按照下面的方法應該可以轉換過來。

現在假設表名為tbl,儲存該列資料的欄位名為ddate,用下列的語句可以實現日期的轉換。

select ddate,to_date(substr(ddate, 8, 4) |decode(substr(ddate, 1, 3),feb',01',jan',02',mar',03')

lpad(trim(substr(ddate, 5, 2)),2, '0')

lpad(trim(substr(ddate, 13, 8)),8, '0'),yyyy-mm-dd hh:mi:ss')

from tbl

以上的部分你需要在decode部分將其餘的9個月份的英文縮寫和對應月份補齊即可。

5樓:來生緣已成往事

oracle;

to_date('時間','yyyy-mm-dd hh24:mi:ss'))24代表24時制,後面是mi,不是mm哦!

如:to_date(』2008-10-19 ,'yyyy-mm-dd hh24:mi:ss'))

6樓:大俠的眼淚

在當前session執行。

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

然後再執行sql.

注意只在當前session有效。

7樓:匿名使用者

你看的應該不是字串吧?你確定是字串嗎?也有可能只是你plsql的顯示問題。

oracle怎麼把數值型日期轉換成日期字元型

8樓:小丁創業

oracle把數值型日期轉換成日期字元型的操作方法和詳細步驟如下:

1、首先,將字串型別轉換為數字型別。

此方法使用to_number()直接進行轉換。 具體語法為to_number(str),如下圖所示,然後進入下一步。

2、其次,完成上述步驟後,數字型別將轉換為字串型別。

此轉換使用to_char(),其類似於上步驟的to_number()模式。 「999」是代表同樣的內容,如下圖所示,然後進入下一步。

3、接著,完成上述步驟後,日期型別將轉換為字串型別。

實際上,此方法還使用to_char(),其將日期格式轉換為所需的格式型別。 此方法更加個性化,如下圖所示,然後進入下一步。

4、然後,完成上述步驟後,以下**將日期型別轉換為更常見和更完整的字串格式的通用字串型別,如下圖所示,然後進入下一步。

5、隨後,完成上述步驟後,將字串型別轉換為日期型別。

此轉換方法使用to_date()進行轉換。 用法相對簡單,轉換日期的格式也可以自定義,如下圖所示,然後進入下一步。

6、最後,就完成了,其效果如下圖所示。這樣,問題就解決了。

9樓:匿名使用者

oracle中沒有日期字元型資料,只有日期型資料。

將數值型日期轉換成日期型資料用如下語句:

select to_date('20151225','yyyymmdd') from dual;

查詢結果:

10樓:匿名使用者

select to_char(to_date(20140518,'yyyymmdd'),yyyy-mm-dd') from dual;

數字先預設被強制型別轉換為字元,通過to_data轉換為日期、to_char轉換為你要的日期格式。

oracle 怎麼把字串轉換成日期

11樓:匿名使用者

1、首先第一種轉換方式是:將字串型別的轉換成數字型別的,這中方法轉換直接用to_number()進行轉換,具體的語法為to_number(str)就可以了。

2、第二種:將數字型別轉換成字串型別的。

這種轉換方式用to_char(),其實轉換的方式有點類似上面的to_number()模式,至於後面的999代表的和上面的意思一樣。

3、第三種:將日期型別轉換成字串型別。

這種方法其實也用的是to_char(),就是將日期格式的轉換成自己想要的格式型別的,這種方法比較個性化一點。

4、下面這種將日期型別轉換成常見的字串型別,這種轉換方式用的頻率比較多一點,也是一種比較全的字串格式。

5、最後一種:將字串型別轉換成日期型別,這種轉換方式用to_date()進行轉換。用法也比較簡單,轉換的日期格式也是自己自定義的。

6、完成效果圖。

12樓:啊_科

字串轉換為 日期,使用to_date方法就能很方便實現例如:to_date('20170622','yyyymmdd')to_date('2017-06-22','yyyy-mm-dd')to_date('20170622221400','yyyymmddhh24miss')

13樓:匿名使用者

to_date函式。

比如select to_date('2015-02-03','yyyy-mm-dd') from dual

注意:2015-02-03格式要與yyyy-mm-dd一致。

14樓:

用oracle的函式to_date()

例如:select to_date('2016-12-30 13:54:20','yyyy-mm-dd hh24:mi:ss') from dual;

注意 hh24是24小時制。

15樓:似水年華

oracle日期轉換函式to_date

例如:to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')

如何設定oracle時間戳型別的時區

16樓:約定

時間戳的概念:它是一種時間表示方式,定義為從格林威治時間2023年01月01日00時00分00秒(北京時間2023年01月01日08時00分00秒)起至現在的總秒數。

下圖是從linux系統中獲得當前時間戳的一種方式。

在oracle使用時間戳,一般都是為了方便計算時間差的,我們要知道oracle中的date型別想減是不能友好的得到時間的差值的。所以使用時間戳來得到兩個時間差。

首先來看oracle中如何獲得當前時間的時間戳,我們用當前時間減去計算機元年後再經過換算得到了的從2023年來到當前時間的時間戳,單位是微妙。

另外oracle提供了另一種便捷得到兩個時間差的方式,那就是使用timestamp資料型別,它類似date型別,但是儲存的時間更為精確,顯示的格式:yyyy-mm-dd hh24:mi:

am,其中ff是小數秒。

timestamp型別的時間差可讀性也比上面那種好一些,可以直**出兩個時間差。

在oracle中,兩個date型別的數值想減也可以轉換成上述的timestamp可以的型別,這裡就要介紹一個函式:numtodsinterval(n,'x'),它能將一個數值轉換成timestamp那種格式的資料。但要注意:

後面的引數'x'是取'day'、'minute'、'hour'完全取決於前面的單位,這樣才能獲得正確的時間差。

最後我們介紹一個函式extract,該函式可以從timestamp型別的時間裡抽取想要hour,minute等。

如何在中將文字設定為縱向排列,如何在word文件中將文字設定為縱向排列

選擇格式 文字方向然後選你要的方向就好了 格式選單下的文字方向就ok了 怎樣使word文件中的字型豎向排列 在左上角點檔案裡面的頁面設定,選縱向或橫向,點確定就ok了。word文件的最上面一排的 格式 中有 文字方向 word文件中如何把字豎著排列 就是列印後的橫向排版麼?直接列印預覽裡設定就可以了...

如何在fomail中將郵件設定為重要

在撰寫郵件的介面上,有一個郵票的圖示,你在上面點一下滑鼠,選擇 高優先順序 在撰寫郵件的介面上,有一個圖示,你在上面點一下滑鼠,選擇 高優先順序 如何在foxmail 中將郵件設定為重要 foxmail怎麼設定收件箱裡的郵件優先順序啊。foxmail中怎麼把郵件標為重要資料 右鍵你要標記為重要的郵件...

如何在visio中將線段等分,visio2007中怎麼使4圖形在一條直線上等距離分配

1 首先在電腦中開啟visio軟體,在當前中的開啟一個visio的檔案當中,進行選中一個空白處需要墨跡簽名的位置。2 然後進行點選visio選單中的審閱選單。3 進行點選審閱選單之後,點選墨跡選項。4 然後在visio的空白處進行拖動。繼續使用滑鼠方式在空白處文字的簽名筆記。5 接著簽名墨跡完成之後...