簡體   English   中英

僅從 oracle sql 中的給定日期提取日期

[英]extract date only from given date in oracle sql

提取日期的最佳 Oracle sql 查詢是什么? 輸入條目 - 2020-10-14T07:26:32.661Z,預期 output - 2020-10-14

如果您想要時間分量為午夜的DATE數據類型,則:

SELECT TRUNC(
         TO_TIMESTAMP_TZ(
           '2020-10-14T07:26:32.661Z', 
           'YYYY-MM-DD"T"HH24:MI:SS.FF3TZR'
         )
       ) AS truncated_date
FROM   DUAL;

哪個(取決於您的NLS_DATE_FORMAT )輸出:

  | 截斷日期 |  |:----------------- |  |  2020-10-14 00:00:00 |

(注意: DATE數據類型具有年、月、日、小時、分鍾和秒組件。無論您使用什么客戶端程序訪問數據庫,都可以選擇不顯示時間組件,但它仍然會存在。)

如果你想要一個YYYY-MM-DD格式的字符串,那么:

SELECT TO_CHAR(
         TO_TIMESTAMP_TZ(
           '2020-10-14T07:26:32.661Z', 
           'YYYY-MM-DD"T"HH24:MI:SS.FF3TZR'
         ),
         'YYYY-MM-DD'
       ) AS formatted_date
FROM   DUAL;
  |  FORMATTED_DATE |  |:------------- |  |  2020-10-14 |

db<> 在這里擺弄

規范的方式可能是trunc()

select trunc(input_entry)

這假定input_entrydatetimestamp值。

編輯:

如果您的輸入只是一個字符串,請使用字符串操作:

select substr(input_entry, 1, 10)

您也可以輕松地將其轉換為date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM