[英]ORACLE 11g SQL date query not returning data for today
我有以下SQL,它將在明天早上6.30之前返回所有數據。 直到今天(30/6/2016), 它 一直可以正常工作 。
SELECT TO_CHAR(TRUK.THEDATE,'DD/MM/YY HH24:MI') DAT
FROM TRUK
WHERE TO_CHAR(TRUK.THEDATE,'DD/MM/YY HH24:MI') <= TO_CHAR(TO_DATE(sysdate + 1) + 6.5/24,'DD/MM/YY HH24:MI')
ORDER BY TRUK.THEDATE
問題今天返回的數據不包括6月30日的數據,我知道該數據僅存在於7月1日。 當我注釋掉where子句時,將返回所有數據,但是當然,其中包括第二天早上6.30之后不希望返回的數據。
我徒勞地尋找答案,非常感謝您的協助。 如何用不同的方式編寫where子句以防止這種情況?
我期望的結果是數據庫中的所有記錄都在第二天早上6.30之前返回。
干杯
您正在比較字符串,但是您應該在比較日期。
將您的where子句調整為此,它將起作用:
WHERE truk.thedate <= trunc(sysdate) + to_dsinterval('1 06:30:00')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.