使用SQL按日期筛选

使用SQL按日期筛选,sql,Sql,我想知道你是怎么想的: 我必须在一次会话中获得与系统的所有连接。为了使这个过程自动化,我决定使用current_date%,因为current_date不是一个字符串,而是一个函数,所以它不起作用 所以我的问题是,是否有人可以帮助我查询当前所有连接的数量 提前谢谢 我的烂代码: SELECT COUNT(id) FROM user_connections WHERE connectiondate LIKE 'CURRENT_DATE%' 最好的方法(从性能角度)是使用如下逻辑: WHERE c

我想知道你是怎么想的:

我必须在一次会话中获得与系统的所有连接。为了使这个过程自动化,我决定使用current_date%,因为current_date不是一个字符串,而是一个函数,所以它不起作用

所以我的问题是,是否有人可以帮助我查询当前所有连接的数量

提前谢谢

我的烂代码:

SELECT COUNT(id) FROM user_connections
WHERE connectiondate LIKE 'CURRENT_DATE%'
最好的方法(从性能角度)是使用如下逻辑:

WHERE connectiondate >= CURRENT_DATE AND
      connectiondate < CURRENT_DATE + INTERVAL '1 DAY'
其中connectiondate>=当前日期和
连接日期<当前日期+间隔“1天”

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

您只需要
connectiondate>=当前日期

SELECT COUNT(id) FROM user_connections
WHERE connectiondate >= CURRENT_DATE
如果
connectiondate
的数据类型是
datetime


如果是
date
,那么简单的
connectiondate=CURRENT_date
就可以了。

字段的类型是什么,您用于“connectiondate”的数据类型是date,其中保存的格式是:2018-12-17T19:47:23。000Z@MissCodesALot发生了什么事?