SQL 查询检查日期是否大于今天


您可以使用 SQL 查询在数据库中处理和操作日期和时间值。您需要根据日期比较来筛选记录,例如检查日期是否大于今天。我们将使用下面给出的样本数据来查询。

日期比较

您可以使用各种比较运算符(如 >、<、=、>= 和 <=)来比较 SQL 中的日期。您可以使用这些运算符根据日期字段的相对值检索记录。

语法

检查 SQL 中日期是否大于今天的基本语法如下所示:

SELECT column1, column2, columnN FROM table_name WHERE date_column > CURRENT_DATE;

这里,date_column 是包含要比较的日期值的字段。“CURRENT_DATE” 是 SQL 中表示当前日期的关键字。

示例

假设您已使用如下所示的 CREATE TABLE 语句创建了一个名为 EVENTS 的表:

CREATE TABLE EVENTS ( EVENT_ID INT NOT NULL, EVENT_NAME VARCHAR(50) NOT NULL, EVENT_DATE DATE NOT NULL, LOCATION VARCHAR(50), PRIMARY KEY (EVENT_ID) );

现在,您可以使用如下所示的 INSERT 语句将值插入此表:

INSERT INTO EVENTS VALUES (1, 'Ramesh Meetup', '2024-12-15', 'Ahmedabad'), (2, 'Khilan Workshop', '2024-09-10', 'Delhi'), (3, 'Kaushik Seminar', '2022-11-25', 'Kota'), (4, 'Chaitali Webinar', '2021-10-05', 'Mumbai'), (5, 'Hardik Conference', '2024-09-20', 'Bhopal'), (6, 'Komal Symposium', '2019-09-30', 'Hyderabad'), (7, 'Muffy Hackathon', '2023-08-15', 'Indore'), (8, 'Ramesh Training', '2020-12-01', 'Ahmedabad'), (9, 'Khilan Lecture', '2024-10-15', 'Delhi'), (10, 'Komal Networking', '2021-11-10', 'Hyderabad');

现在,您可以使用以下命令查看它:

SELECT * FROM EVENTS;

表将如下创建:

EVENT_ID EVENT_NAME EVENT_DATE LOCATION
1 Ramesh Meetup 2024-12-15 Ahmedabad
2 Khilan Workshop 2024-09-10 Delhi
3 Kaushik Seminar 2022-11-25 Kota
4 Chaitali Webinar 2021-10-05 Mumbai
5 Hardik Conference 2024-09-20 Bhopal
6 Komal Symposium 2019-09-30 Hyderabad
7 Muffy Hackathon 2023-08-15 Indore
8 Ramesh Training 2020-12-01 Ahmedabad
9 Khilan Lecture 2024-10-15 Delhi
10 Komal Networking 2021-11-10 Hyderabad

检索未来事件

您可以使用以下 SQL 查询来获取所有计划在今天之后的事件:

SELECT EVENT_NAME, EVENT_DATE FROM EVENTS WHERE EVENT_DATE > CURRENT_DATE;

上面的查询将生成一个表,其中仅列出日期在今天之后的那些事件:

EVENT_NAME EVENT_DATE
Ramesh Meetup 2024-12-15
Khilan Workshop 2024-09-10
Hardik Conference 2024-09-20
Khilan Lecture 2024-10-15

Learn SQL in-depth with real-world projects through our SQL certification course. Enroll and become a certified expert to boost your career.

使用不同格式比较日期

如果表中的日期以不同的格式存储,则可能需要在比较之前将这些日期转换为标准日期格式。SQL 有各种日期函数,如 DATE_FORMAT()TO_DATE()(取决于您使用的 SQL 方言)来处理不同的日期格式。

示例

假设 EVENTS 表中的“EVENT_DATE” 以 'DD-MM-YYYY' 格式的字符串形式存储。您可以将其转换为日期格式,然后将其与当前日期进行比较。

SELECT EVENT_NAME, EVENT_DATE FROM EVENTS WHERE STR_TO_DATE(EVENT_DATE, '%d-%m-%Y') > CURRENT_DATE;

输出

上面的查询将 EVENT_DATE 转换为日期格式,然后检索日期大于今天的事件:

EVENT_NAME EVENT_DATE
Komal Networking 10-11-2024
Kaushik Seminar 25-11-2024
Ramesh Training 01-12-2024
Ramesh Meetup 15-12-2024

在 SELECT 语句中为日期比较设置别名

您可以使用“AS”关键字为日期比较的输出设置别名,从而获得更有意义的输出并使结果集更易于阅读。

示例

以下是一个示例,我们将日期比较的结果作为 'Future Events' 设置别名:

SELECT EVENT_NAME, EVENT_DATE AS 'Future Events' FROM EVENTS WHERE EVENT_DATE > CURRENT_DATE;

输出

此查询将生成以下带有别名的表:

EVENT_NAME 未来事件
Ramesh Meetup 2024-12-15
Khilan Workshop 2024-09-10
Hardik Conference 2024-09-20
Khilan Lecture 2024-10-15

更新于:2024年9月10日

39 次查看

启动您的 职业生涯

完成课程获得认证

开始
广告