使用SQL按日期过滤

时间:2019-03-06 15:10:44

标签: sql

我想知道你的想法:

在会话期间,我必须获得与系统的所有连接。为了使此过程自动化,我决定使用current_date%,因为current_date不是字符串,而是一个函数,因此该方法将不起作用。

所以我的问题是,是否有人可以帮助我进行查询以获取当日所有连接的数量。

提前谢谢!

我糟糕的代码:

SELECT COUNT(id) FROM user_connections
WHERE connectiondate LIKE 'CURRENT_DATE%'

2 个答案:

答案 0 :(得分:1)

(从性能的角度来看)最好的方法是使用这样的逻辑:

WHERE connectiondate >= CURRENT_DATE AND
      connectiondate < CURRENT_DATE + INTERVAL '1 DAY'

并非所有数据库都支持日期的ISO / ANSI标准语法,因此数据库中的确切表达式可能会有所不同。

答案 1 :(得分:0)

您只需要connectiondate >= CURRENT_DATE

SELECT COUNT(id) FROM user_connections
WHERE connectiondate >= CURRENT_DATE

如果connectiondate的数据类型为datetime
如果是date,那么一个简单的connectiondate = CURRENT_DATE就可以了。