0

我正在尝试选择两个日期(开始日期和结束日期)之间的价格。在我的数据库中,我有这样的固定价格:

2013-05-01 to 2013-05-31  price: 300
2013-06-01 to 2013-06-30  price: 200
2013-07-01 to 2013-07-01  price: 250

我用户选择这 3 个之间的任何日期,我可以通过执行生成结果

sdate>='2013-05-01' 
AND edate <='2013-05-31'`. 

但是,如果用户选择日期2013-05-28 to 2013-06-03,那么它应该是 5 月份的两天价格(300)和 6 月份的 3 天价格(200)。我怎样才能做到这一点?

4

3 回答 3

3

尝试这个

 select price from tablename where sdate >= '2013-05-01' and edate <= '2013-05-31'
于 2013-05-03T11:50:16.353 回答
1

如果用户输入两个不同月份的日期,那么您的选择查询将返回两个价格。假设select price from tb_demo where sdate>='2013-06-01' and edate<='2013-07-31'这将返回两个存储到结果集中的价格。

之后,通过使用 while 循环,您可以轻松打印这些价格。如果您还想打印月份名称,则使用数组并打印该名称。

于 2013-05-03T12:09:46.333 回答
0

请在发布之前使用搜索...

SQL查询以选择两个日期之间的日期

于 2013-05-03T11:47:21.363 回答