将今天的日期定义为变量,然后根据变量提取数据

时间:2014-08-29 20:51:37

标签: sql oracle date

我想根据今天的日期从数据库中提取数据。我不想每次运行时输入日期。我想这是我每天都可以运行的东西,并以当前日期为基础。

我不想干扰存储的数据。我只是想根据今天的日期检索数据。我想我不应该为日期制作一个变量,应该只能使用curdate()或其他东西吗?

伪代码:

declare variable as X (or whatever to represent the date)
then tell getdate() to populate X (determine what X is)
then 
select EntryDate, Name
from Table
where EntryDate = X    or where EntryDate is CurDate()   ????

这样它就会打印出这样的东西:

29Aug14  Suzie Que
29Aug14  Frank Man
29Aug14  Zebo Bebo
29Aug14  Tim Fields
29Aug14  Martha White

2 个答案:

答案 0 :(得分:1)

假设EntryDate是一个日期字段,你可以做这样的事情

select EntryDate, Name
from Table
where EntryDate = SYSDATE

我相信SYSDATE也会有时间,所以如果你比较日期只做一些格式化以使其匹配

答案 1 :(得分:0)

我使用sysdate都错了。我最终使用了这样的东西:

 select st.pers_ID, sh.request_date, sysdate    
 from pers_id st
 join ..... 
 where  
 sh.REQUEST_DATE between sysdate-1 and sysdate   

这使我能够在最后24小时内完成任务。由于这将在每天的同一时间(自动和工作时间之前)运行,因此应该没问题。谢谢! 它打印的内容如下:

 ID     request_date    sysdate   
 81432  10-sep-14       11-sep-14  
 45796  11-sep-14       11-sep-14