如何查询当天的日期记录
在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中查询当天的日期记录,给出了查询代码及相关的解释和演示。希望本文能够对您有所帮助。