【问题标题】:How to select SQL Server data based on today's date and time?如何根据今天的日期和时间选择 SQL Server 数据?
【发布时间】:2016-04-21 04:03:09
【问题描述】:

我正在使用 SQL Server COUNT 一些源自 HTML 表的数据。我想COUNT根据今天的日期在数据库中的总行数。然后在日期到达明天的日期后,将COUNT 值设置回零并从头开始重新计数。

是否有可以帮助我根据当前日期和时间获取数据的查询?

类似这样的:

SELECT COUNT(data_id) 
FROM table1
WHERE clock_time BETWEEN 000000 AND 235959
  AND date_time IS TODAY's DATE (or something like that)
GROUP BY XXX
ORDER BY XXX

时钟到达明天的日期后,我想将 COUNT 重置为零,并从 00:00:00 开始重新计数。

我知道有NOW() 查询,但据我所知它只显示日期。

有人告诉我我可以使用WHERE DATE(date)=CURDATE(),但 SQL Server 无法使用它。

谢谢...

【问题讨论】:

  • getdate() 返回日期和时间;如果您的表格中有日期,您可以将日期列与 getdate() 转换为 mm/dd/yyyy(或您的日期的任何格式)进行比较以解决问题
  • date_time 列的数据类型是什么?它是否包含00:00以外的时间?

标签: sql sql-server tsql


【解决方案1】:

你可以像这样使用转换函数

where convert(Date,date_time)= CONVERT(Date,GETDATE())

【讨论】:

    【解决方案2】:

    不需要像今天的数据那样使用时间。

    试试这个

    SELECT COUNT(data_id) FROM table1
    WHERE convert(date,date_time) = getdate()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2013-08-19
      • 2012-07-08
      • 2013-11-25
      • 2020-05-12
      相关资源
      最近更新 更多