SQL Server where子句有两个日期

时间:2017-02-02 15:58:08

标签: sql sql-server

我在我的应用中使用此查询

SELECT * 
FROM Vi_WebReport 
WHERE Legajo = ? AND ent >= ? AND ent >= ?

所以,legajo是一个识别一个人的号码。 ent是约会。查询工作正常,但是当我想只选择一天时:

SELECT * 
FROM Vi_WebReport 
WHERE Legajo = 1 AND ent >= 02/02/2017 AND ent >= 02/02/2017

查询不返回任何结果。

2 个答案:

答案 0 :(得分:1)

  1. 您确定要让两者的比较运算符指向同一方向吗?

  2. 如果您尝试获取特定日期的所有记录,并且表中的数据是日期时间数据,实际上是使用时间组件存储的,那么您必须将数据库值与上午午夜的时间,以及当晚午夜前的一个时间,或第二天早晨的午夜。

  3. Where ent >= '02/02/2017' and ent <= '02/02/2017 23:59:59'

    Where ent >= '02/02/2017' and ent < '02/03/2017'

答案 1 :(得分:0)

问题在于我只比较了日期,但我还要比较时间。

正确的过滤器是:

其中ent&gt; = '02 / 02/2017 00:00:00'和ent&lt; = '02 / 02/2017 23:59:59'