选择两个日期之间的日期

时间:2013-11-20 13:59:25

标签: sql sqlite

我有这个select语句来返回两个日期之间的行数。它只返回一个而有四行。

SELECT count(*) as number 
  FROM PFServicesLogging 
 WHERE User_ID = '784198013531599' 
   AND ServiceType = 1 
   AND InsertDate between "2013-11-11" and "2013-11-19"

表结构是

CREATE TABLE `PFServicesLogging`

(
       ID INTEGER NOT NULL,
       ServiceType INTEGER NOT NULL,
       Datetime DATETIME,
       User_ID TEXT,
       Frequency INTEGER, `InsertDate`  Date,
       PRIMARY KEY(ID)
)

1 个答案:

答案 0 :(得分:1)

如果您的日期字段包含时间,请不要在两者之间使用。使用

where YourDateField >= StartDate
and YourDateField < TheDayAfterTheEndDate

编辑从这里开始

阅读评论,可能问题与日期无关。也许它是user_id或服务类型。要进行故障排除,请使用

替换where子句
where 1 = 1
/*
User_ID = '784198013531599' 
AND ServiceType = 1 
AND InsertDate between "2013-11-11" and "2013-11-19"
*/

并运行您的查询。将您的过滤器逐个从评论块中取出,以便您可以看到哪一个导致意外结果。