簡體   English   中英

Oracle:在日期時間過濾查詢

[英]Oracle: filter query on datetime

我需要使用

SELECT ... FROM ... 
WHERE my_date=(RESULT FROM A SELECT)
...  ;

為了實現我由於選擇時間戳而使用的時間戳(如果我改用datetime,那么我從select中得不到任何信息,可能是因為我使用的格式在第二秒修剪了datetime)。

不幸的是,這不起作用,因為這些查詢類型:

select DISTINCT TO_DATE(TO_TIMESTAMP(TO_DATE('25-10-2017 00:00', 'dd-MM-yyyy HH24:MI'))) from DUAL;

返回一個

ORA-01830:日期格式圖片在轉換整個輸入字符串之前結束

如何處理時間戳到日期的轉換?

如果您只想比較並檢查他的日期,則在LHS和RHS上都使用trunc。

SELECT ... FROM ... 
WHERE trunc(my_date)=(select trunc(RESULT) FROM A)
...  ;

這將通過截斷時間戳記值來比較日期

您可以在查詢中使用“ TRUNC”和“ IN”關鍵字的組合來實現期望的結果。 請檢查以下查詢示例作為參考。

SELECT * FROM customer WHERE TRUNC(last_update_dt) IN (select DISTINCT (TRUNC(last_update_dt)) from ... )

干杯!

暫無
暫無

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

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