如何解决这不包括日期

时间:2019-09-12 17:04:39

标签: sql between

我想搜索给定日期之间的数据。我能够获得介于两者之间的结果,但其中不包括介于语句之间开始和结束的那一天。

我尝试仅在使用之间切换日期,例如增加或减少一天,但是必须有另一种方式。

SQL:

WHERE "Date" Between '09/02/2019' AND '09/06/2019' 
AND (sf.TemplateName = 'Nassco Lacp') 
AND (sf.ProjectName = 'Crossbore Safety Program') 
AND (sf.WorkOrderNumber LIKE '%2715%I1%')

我应该获得那几天之间的所有数据,包括第二天和第六天完成的工作,但是由于某种原因,我没有在第六天完成工作。帮助!

2 个答案:

答案 0 :(得分:1)

请勿在日期中使用between!时间部分可能会导致问题。相反:

where date >= '2019-09-02' and
      date < '2019-09-07' and    -- note this is one day later
      . . . 

大多数数据库都了解YYYY-MM-DD的日期常量。

答案 1 :(得分:0)

以我的经验,当Account字段是时间戳记数据类型时,会发生这种情况。发生的是,某个特定的日期(例如Key('Account', 5629499534213120, 'Article', 5946158883012608, 'Message', 5663034638860288)被解释为Key('Account', 5629499534213120, 'Article', 5946158883012608),因此之前的任何值都被排除。

尝试(ORACLE DBMS)

Date

尝试(SQL Server)

09/02/2019