我正在编写一个 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
.
关于java - 如何在Oracle中选择当月的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727602/