嗨大家我正在编写Java程序,我需要从Oracle数据库中选择当月的记录.任何时候我需要选择当天的记录我使用:
select * from purchases where purchase_date = to_char(sysdate, 'DD-MON-YYYY')
Run Code Online (Sandbox Code Playgroud)
我应该使用什么方法从当前月份中选择记录?在表格上,日期显示如下:
10/4/2012 //for 4th October 2012
Run Code Online (Sandbox Code Playgroud)
我试过了
select * from purchases where purchase_date like to_char(sysdate, 'MON-YYYY')
Run Code Online (Sandbox Code Playgroud)
这当然没有选择,请协助.
如果purchase_date是DATE.
select *
from
purchases
where
purchase_date >= trunc(sysdate,'mm')
Run Code Online (Sandbox Code Playgroud)
如果purchase_date是VARCHAR
select *
from
purchases
where
to_date(purchase_date,'mm/dd/yyyy') >= trunc(sysdate,'mm')
Run Code Online (Sandbox Code Playgroud)
trunc(sysdate,'mm')截断当前日期,保持月份,显然是年份,因此10/04/2012 08:58被截断为10/01/2012 00:00.