[英]How to select records for the Current Month In Oracle?
我正在編寫一個 Java 程序,我需要從 Oracle 數據庫中選擇當月的記錄。 任何時候我需要為我使用的當天選擇記錄:
select * from purchases where purchase_date = to_char(sysdate, 'DD-MON-YYYY')
我應該使用什么方法來選擇當月的記錄? 在表格上,日期顯示如下:
10/4/2012 //for 4th October 2012
我試過了
select * from purchases where purchase_date like to_char(sysdate, 'MON-YYYY')
這當然沒有選擇,請幫助。
如果purchase_date
是DATE。
select *
from
purchases
where
purchase_date >= trunc(sysdate,'mm')
如果purchase_date
是 VARCHAR
select *
from
purchases
where
to_date(purchase_date,'mm/dd/yyyy') >= trunc(sysdate,'mm')
trunc(sysdate,'mm') 截斷當前日期,保留月份和顯然年份,因此10/04/2012 08:58
被截斷為10/01/2012 00:00
。
假設 purchase_date 是VARCHAR2
並且格式為DD-MON-YYYY
,這似乎是這種情況,那么:
select * from purchases where trunc(to_date(purchase_date,'DD-MON-YYYY'),'MONTH') = trunc(sysdate,'MONTH')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.