开始和结束日期之间的记录

时间:2014-04-24 19:12:38

标签: sql oracle oracle10g

我有两个代表startDate和endDate的文本字段。现在我遇到的问题是我想要在这个间隔之间发生的数据库中的所有记录。但是存储日期的字段是TimeStamp并且格式为:< / p>

24-APR-14 09.23.44.458000 PM or we can say dd-mm-yy hh.min.ss.milli AM/PM

现在显然用户输入日期不会以这种格式输入日期。那么应该查询从表中选择记录,在这个日期间隔之间说t1。

2 个答案:

答案 0 :(得分:1)

将日期数据保存为日期或日期时间可简化生活。 你已经在问题中标记了Mysql,所以这里是一个Mysql解决方案。

这是你可以做的

select * from
test
where
date_format(str_to_date(`date`,'%d-%b-%y'),'%Y-%m-%d') 
between '2014-04-15' AND '2014-04-24'

<强> DEMO

您可以在DATE_FORMAT()中的查询中根据需要格式化用户输入。

答案 1 :(得分:-1)

用户输入将具有开始日期,而结束日期可能是日期时间或日期变量

尝试在WHERE CLAUSE中使用这两个输入变量时使用BETWEEN CAST(@StartDate AS DATE)和(CAST(@EndDate AS DATE)+ 1)

这将获取位于日期和数据范围内的结果