Sql 选择“在不检索任何数据的日期之间查询”

Sql 选择“在不检索任何数据的日期之间查询”,sql,sql-server,tsql,Sql,Sql Server,Tsql,我一直在尝试检索两个日期之间注册的行(因为每次有人进门,都会插入一行)。通过这种方式,我们可以每月获得“访客数量”。 查询以下内容时: select MOV_DATAHORA from LOG_CREDENCIAL WHERE MOV_DATAHORA>'2017-01-01'` 共显示5851行。这是一个行的示例: 2017-01-05 21:33:30.000 但是,在尝试以下操作时: select MOV_DATAHORA from LOG_CREDENCIAL WHERE MO

我一直在尝试检索两个日期之间注册的行(因为每次有人进门,都会插入一行)。通过这种方式,我们可以每月获得“访客数量”。
查询以下内容时:

select MOV_DATAHORA from LOG_CREDENCIAL
WHERE MOV_DATAHORA>'2017-01-01'`
共显示5851行。这是一个行的示例:

2017-01-05 21:33:30.000
但是,在尝试以下操作时:

select MOV_DATAHORA from LOG_CREDENCIAL
WHERE MOV_DATAHORA>'2017-01-01' 
  AND MOV_DATAHORA<'2017-01-02'
从日志凭证中选择移动数据时间
其中MOV_DATAHORA>'2017-01-01'

还有MOV_DATAHORA嗯。。。基于查询谓词的最简单解释是:

WHERE MOV_DATAHORA > '2017-01-01' 
AND MOV_DATAHORA < '2017-01-02'
其中MOV_DATAHORA>“2017-01-01”
和MOV_DATAHORA<'2017-01-02'

是不是在1月1日(新年刚过)就没有游客了。。。基于查询谓词的最简单解释是:

WHERE MOV_DATAHORA > '2017-01-01' 
AND MOV_DATAHORA < '2017-01-02'
其中MOV_DATAHORA>“2017-01-01”
和MOV_DATAHORA<'2017-01-02'

是在1月1日(新年刚过),没有访客。

您正在比较日期时间和日期数据类型。您的表有一个DateTime,您可以看到日期后的21:33:30.000,要转换和比较类似的类型,请执行以下操作

SELECT MOV_DATAHORA FROM LOG_CREDENCIAL WHERE DATE(MOV_DATAHORA)>'2017-01-01' 
AND DATE(MOV_DATAHORA)<'2017-01-02'

您正在比较日期时间和日期数据类型。您的表有一个DateTime,您可以看到日期后的21:33:30.000,要转换和比较类似的类型,请执行以下操作

SELECT MOV_DATAHORA FROM LOG_CREDENCIAL WHERE DATE(MOV_DATAHORA)>'2017-01-01' 
AND DATE(MOV_DATAHORA)<'2017-01-02'

是的,但是,由于日期的格式是'Y-d-m',我试图检索1月1日和2月1日之间的行。然后,我将检索每个月的第一天和最后一天之间的数据,以便稍后使用PHP.Hmmm将访问者放在图表上。MOV_DATAHORA列的数据类型是什么?标准SQL datetime格式为yyyy-mm-dd,以便检索到2月份之前的所有客户,您将使用其中的MOV_DATAHORA>'2017-01-01'和MOV_DATAHORA<'2017-02-01'。你能试试吗?哈哈。。。没错,是的,我只是在比较一月一号和一月二号,谢谢!是的,但是,由于日期的格式是'Y-d-m',我试图检索1月1日和2月1日之间的行。然后,我将检索每个月的第一天和最后一天之间的数据,以便稍后使用PHP.Hmmm将访问者放在图表上。MOV_DATAHORA列的数据类型是什么?标准SQL datetime格式为yyyy-mm-dd,以便检索到2月份之前的所有客户,您将使用其中的MOV_DATAHORA>'2017-01-01'和MOV_DATAHORA<'2017-02-01'。你能试试吗?哈哈。。。没错,是的,我只是在比较一月一号和一月二号,谢谢!