首页 > 解决方案 > 比较oracle中的两个日期

问题描述

我们如何比较两个日期

set_up_date = 20-02-18 (in date)
expiry_date = 23-04-20 (in date)

select * 
       BETWEEN TO_NUMBER(TO_CHAR('set_up_date','YYYYMMDD')) AND 
       TO_NUMBER(TO_CHAR('expiry_date','YYYYMMDD')) 
  from dual;

标签: sqloracle

解决方案


'set_up_date'并且'expiry_date'是字符串文字 - 它们不是列名或绑定变量。您还需要对具有以下顺序的语句的查询使用正确的语法:SELECT ... FROM ... [WHERE ...] [GROUP BY ...] [ORDER BY ...].

因此,如果您有一个包含数据类型列的表your_table,那么您可以将其与两个变量进行比较,并使用以下方法在您的问题中标识:your_date_columnDATEDATEset_up_dateexpiry_date

SELECT * 
FROM   your_table_name
WHERE  your_date_column BETWEEN set_up_date AND expiry_date;

推荐阅读