将结果与今天的日期进行比较的 SQL 查询
在本文中,我们将通过使用 SQL 的 GETDATE()函数将数据与今天的日期进行比较来查看 SQL 查询来比较结果与今天的日期。
为了比较日期,我们可以使用 CASE()函数
GETDATE()函数:此函数用于返回数据库系统的当前日期和时间。
特征:
- 它返回系统的当前日期和时间。
- 它属于日期功能。
- 它不带任何参数。
- 它以格式返回输出 - ' YYYY-MM-DD hh:mm: ss.嗯'
询问:
检查当前日期
SELECT GETDATE();
输出:
CASE() :此语句包含一个或多个条件及其相应的结果。它类似于 IF_ELSE 语句,其中一旦满足条件,它就会停止读取并返回相应的结果。
如果不满足任何条件,则返回 ELSE 语句中存在的值。如果 ELSE 语句不存在,则返回 NULL 值。
句法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
现在,举个例子,在 MS SQL Server 中将结果与今天的日期进行比较。
请按照以下步骤操作:
第一步:创建数据库
我们可以使用以下命令创建一个名为 geeks 的数据库。
询问:
CREATE DATABASE geeks;
第二步:使用数据库
使用以下 SQL 语句将数据库上下文切换到极客:
USE geeks;
第三步:表定义
我们的极客数据库中有以下 demo_table。
询问:
CREATE TABLE demo_table(
NAME VARCHAR(20),
ITEM varchar(20),
date DATE);
第 4 步:将数据插入表中
询问:
INSERT INTO demo_table VALUES('Romy','shirt','2021-10-21'),
('Shalini', 'shoes', '2021-10-14'),
('Sambhavi','hat','2021-10-10'),
('Pushkar','mobile','2021-11-21'),
('Nikhil','home_decor','2021-09-09');
第五步:查看表格内容
询问:
SELECT * from demo_table;
输出:
第 6 步:将结果与今天的日期进行比较
为此,我们将返回一个名为“After comparison”的列,该列在将今天的日期与“Deliver”列中的值进行比较后返回一个值。经过比较列包含以下字符串:
- 小于 - 如果日期小于今天的日期
- 更大 - 如果日期大于今天的日期
- 今天 - 如果日期与今天的日期相同。
句法:
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
FROM table_name;
询问:
SELECT NAME, ITEM,date,
CASE
WHEN date=GETDATE() THEN 'Today'
WHEN date
输出: