2017-03-02 75 views
0

我正在執行兩條select語句。但它會顯示差異。如何在oracle 11g中獲取timestamp列的準確日期和時間?

  1. select TO_CHAR(AUTHORIZE_DATE,'YYYY-MM-DD')|| 'T' || TO_CHAR(AUTHORIZE_DATE,'HH24:MM:SS') from table_name

和輸出是:2017-02-21T05:02:58

  • select AUTHORIZE_DATE from table_name
  • 和輸出是:2/21/2017 5:35:58

    需要輸出: 2017-02-21T05:35:58。

    但我無法獲得準確的時間。請幫助解決這個問題?這裏列數據類型是Timestamp。

    回答

    1

    你是如此接近,只是改成這樣:(分鐘爲MI,和月份是MM

    SELECT TO_CHAR(authorize_date,'YYYY-MM-DD')|| 'T' || TO_CHAR(authorize_date,'HH24:MI:SS') 
    FROM table_name; 
    

    有關日期類型TO_CHAR參數的詳細信息,你可以go here

    +0

    這似乎是相同的查詢y在OP中。 –

    +1

    @TimBiegeleisen爲datetime參數,在oracle分鐘是'MI'而不是'MM'爲月 –

    +0

    很好的捕獲,沒有看到+1 –

    1

    權方式得到這種格式是(所有與TO_CHAR(),只是使用其所有功能):

    select to_char(sysdate, 'yyyy-mm-dd"T"hh24:mi:ss') as now from dual; 
    
    NOW 
    ------------------- 
    2017-03-01T22:49:56 
    
    +0

    啊,非常好的方式來連接這些字符串。你能否提到該技術的名稱(或鏈接你學習它的地方)? –

    +1

    @ PhamX.Bach它在'TO_CHAR'函數的Oracle文檔中:https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00212 Quote:日期時間的標點符號和字符文字格式模型 可以包括日期格式模型中,這些字符: •標點符號,如連字符,斜線,逗號,句號和冒號 •**字符文字,用雙引號** 這些字符出現在格式模型中出現的相同位置的返回值中。 – mathguy

    +0

    謝謝你的鏈接。祝你今天愉快! –

    相關問題