oracle查詢某一天的數據,即日期條件使用
1.推薦使用范圍查詢,即
SELECT * FROM your_table
WHERE date_column >= TO_DATE('2023-01-31', 'YYYY-MM-DD')
AND date_column < TO_DATE('2023-01-31', 'YYYY-MM-DD') + 1;
這種方法對于任何日期(包括月末、閏年等特殊情況)都是安全可靠的,Oracle會自動處理所有的日期邊界問題。
2.另一種需要 在字段上使用函數,可能導致字段索引失效,性能差,不推薦
例如:WHERE TRUNC(date_column) = TO_DATE('2023-06-15', 'YYYY-MM-DD')
3.為什么不推薦使用等號(=)?
-- 不推薦的寫法(可能漏掉數據)
SELECT * FROM your_table
WHERE date_column = TO_DATE('2023-06-15', 'YYYY-MM-DD');
問題在于:如果date_column包含時間部分,等號比較只會匹配時間部分為00:00:00的記錄。

浙公網安備 33010602011771號