簡體   English   中英

如何在Oracle中選擇當月的記錄?

[英]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.

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