DB2中If条件中的日期比较

时间:2014-12-16 00:28:28

标签: db2

我有两个日期参数BeginDate和EndDate。我需要比较这两个日期,然后执行一些SQL选择。例如,如果BeginDate小于或等于EndDate,那么我只需要查询数据。例如如下:

If @BeginDate <= @EndDate Then
   select statement1
   select statement2
...
End if

当我在DB2中尝试时,我收到了一个错误。

请建议使用DB2语法的示例。

1 个答案:

答案 0 :(得分:2)

如果你想简单地做,只需将条件添加到两个select语句:

SELECT * 
FROM <table_name> 
WHERE @BeginDate <= @EndDate;

其他解决方案是在PL / SQL上下文中使用IF语句来执行SQL:

IF (@BeginDate <= @EndDate) THEN
  statements
END IF;

内联SQL PL的更完整示例如下:

CREATE PROCEDURE EXAMPLE_IF
(IN BeginDate DATE, IN EndDate DATE)
LANGUAGE SQL
BEGIN ATOMIC
  IF (BeginDate <= EndDate)
    THEN 
      statement1;
      statement2;
  END IF;
END!

希望它有用!