比较两个日期的 SQL 查询
在 SQL 中,日期对于新手来说很复杂,因为在使用数据库时,表中日期的格式必须与输入日期匹配才能插入。在各种场景中,不使用日期,而是使用日期时间(时间也与日期有关)。在这里我们将看到,SQL Query 来比较两个日期。这可以使用等于(=)、小于(<) 和大于(>)运算符轻松完成。在 SQL 中,日期值具有 DATE 数据类型,它接受“yyyy-mm-dd”格式的日期。要比较两个日期,我们将声明两个日期并使用IF-ELSE语句比较它们。
句法:
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
我们可以通过在变量名前使用关键字DECLARE来轻松声明变量。默认情况下,局部变量以@ 开头。
句法:
DECLARE @variable_name datatype;
为变量设置值:我们可以使用 SET 关键字为变量赋值。
句法:
SET @variable_name;
现在我们以不同的案例来演示日期之间的比较。
查询 1:
DECLARE @date1 DATE, @date2 DATE;
SET @date1='2021-01-01';
SET @date2='2021-02-02';
IF @date1=@date2
SELECT 'equal date'
ELSE
IF @date1<@date2 SELECT 'date2 is greater'
ELSE SELECT 'date1 is greater';
输出:
查询 2:
DECLARE @date1 DATE, @date2 VARCHAR(20);
SET @date1='2021-01-01';
SET @date2='2021-01-01';
IF @date1=@date2
SELECT 'equal date'
ELSE
IF @date1<@date2 SELECT 'date2 is greater'
ELSE SELECT 'date1 is greater';
输出:
查询 3:
DECLARE @date1 DATE, @date2 VARCHAR(20);
SET @date1='2022-01-01';
SET @date2='2021-01-01';
IF @date1=@date2
SELECT 'equal date'
ELSE
IF @date1<@date2 SELECT 'date2 is greater'
ELSE SELECT 'date1 is greater';
输出: