📜  将结果与今天的日期进行比较的 SQL 查询

📅  最后修改于: 2022-05-13 01:55:11.180000             🧑  作者: Mango

将结果与今天的日期进行比较的 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

输出: