MSSQL查询当天的日期记录

如何查询当天的日期记录

在MSSQL中,我们可以使用如下代码来查询当天的日期记录:

SELECT * FROM 表名

WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, 时间列名)) = CONVERT(varchar,GETDATE(), 111)

解释代码

假设我们需要查询的表名为“students”,时间列名为“register_time”,下面来解释一下上面的代码:

DATEADD(dd, 0, DATEDIFF(dd, 0, register_time)):这部分代码的意思是将register_time转换成日期格式,去掉时间后只保留日期。

CONVERT(varchar,GETDATE(), 111):这部分代码的意思是获取当前日期,并将其转换成我们需要的日期格式(例如,111表示年/月/日)。

WHERE:这个关键字用于过滤符合条件的数据。

代码演示

下面给出一个演示数据,其中我们将日期分别设置为当天日期、昨天日期和明天日期:

CREATE TABLE students (

id INT PRIMARY KEY NOT NULL,

name VARCHAR(20) NOT NULL,

gender VARCHAR(10) NOT NULL,

register_time DATETIME NOT NULL

);

INSERT INTO students (id, name, gender, register_time)

VALUES (1, 'John', 'male', '2022-01-01 12:00:00'),

(2, 'Lily', 'female', '2022-01-02 12:00:00'),

(3, 'Tom', 'male', '2022-01-03 12:00:00');

查询当天日期记录的代码如下:

SELECT * FROM students

WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, register_time)) = CONVERT(varchar,GETDATE(), 111);

我们可以得到以下查询结果:

id name gender register_time
1 John male 2022-01-01 12:00:00.000

上面的结果表明,只有id为1的学生记录符合查询条件。

总结

本文介绍了如何在MSSQL中查询当天的日期记录,给出了查询代码及相关的解释和演示。希望本文能够对您有所帮助。

数据库标签