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

使用不同格式比較日期

如果表中的日期以不同的格式儲存,則可能需要在比較之前將這些日期轉換為標準日期格式。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 次檢視

啟動您的 職業生涯

完成課程獲得認證

開始
廣告