【发布时间】:2013-07-18 18:10:02
【问题描述】:
我有一个数据类型为数字的字段,代表日期 例如:20060421
我在另一个表中有两个其他字段,数据类型为日期。
我想从第一个表中检索位于另一个表中存在的这两个日期之间的行。
如何在数据类型为 Date 的两个 Dates 的 between 子句中以简单数字格式比较日期。
【问题讨论】:
标签: sql date oracle11g oracle-sqldeveloper
我有一个数据类型为数字的字段,代表日期 例如:20060421
我在另一个表中有两个其他字段,数据类型为日期。
我想从第一个表中检索位于另一个表中存在的这两个日期之间的行。
如何在数据类型为 Date 的两个 Dates 的 between 子句中以简单数字格式比较日期。
【问题讨论】:
标签: sql date oracle11g oracle-sqldeveloper
我认为对您来说最简单的解决方案是将数字日期转换为日期类型,然后使用内置的 BETWEEN 函数。
-- sample cast
select to_date(to_char(20060801),'YYYYMMDD') from dual
所以你的解决方案应该是这样的:
select *
from numericDatesTable t1, otherTable t2
where to_date(to_char(t1.date),'YYYYMMDD') between t2.date1 and t2.date2
【讨论】: