【问题标题】:SQL between dates日期之间的 SQL
【发布时间】:2012-03-30 21:00:09
【问题描述】:

我有两列(开始日期和结束日期)的表格,我有两个提交日期(2012-02-29 和 2012-03-30)我试图获取开始日期(2012-02-29)和结束日期(2012-03-30)

我试过了

 i.startdate between '2012-02-29' and i.enddate '2012-03-30'

但这没有用,我已经在谷歌上搜索了几个小时没有明确的答案,任何帮助将不胜感激,在此先感谢。

【问题讨论】:

    标签: php sql date between


    【解决方案1】:

    如果我理解正确:

    1. 您的表格包含两个日期字段,StartDateEndDate,它们描述了一个冗长的事件。
    2. 您想要查找完全属于另外两个日期(在本例中为 2012-02-292012-03-30)所描述的时间段内的所有事件。

    如果正确,请使用:

     SELECT * FROM Events 
       WHERE StartDate >= '2012-02-29' AND EndDate <= '2012-03-30';
    

    【讨论】:

    • 这正是我想要的,谢谢拉里
    【解决方案2】:
    SELECT * FROM table_with_dates WHERE (i.startdate  BETWEEN '2012-02-29' AND '2012-03-30') AND (i.enddate  BETWEEN '2012-02-29' AND '2012-03-30')  
    

    【讨论】:

      【解决方案3】:
      where ('2012-02-29' between i.startdate and i.enddate) and ('2012-03-30' between i.startdate and i.enddate)
      

      【讨论】:

        【解决方案4】:

        我了解到您希望在 startdate 和 enddate 之间同时提交(两个日期)? 所以

        Where (@firstDate between StartDate and EndDate) and (@secondDate between StartDate and EndDate)
        

        【讨论】:

          【解决方案5】:

          由于 startdate 和 enddate 是单独的字段,并且您正在寻找特定的 startdates 和 enddates,因此您并不需要介于两者之间,只需一个

          select ..... from ..... where i.startdate >= '2012-02-29' and i.enddate =< '2012-03-30'
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-01-06
            • 2011-10-30
            • 1970-01-01
            相关资源
            最近更新 更多