【发布时间】:2011-01-05 12:32:26
【问题描述】:
我正在尝试使用 SQL 选择日期范围,但遇到了一些问题:
当我按照以下方式运行时:
SELECT ... as edate ...
WHERE edate
BETWEEN To_Date('10/15/2010', 'MM/DD/YYYY')
AND To_Date('10/15/2011', 'MM/DD/YYYY')
它会返回一个
ORA-01848: 月份无效
。该表本身包含沿 MM/DD/YYYY HH:mm:ss 行的完整日期值。可能是因为我正在做一个 SELECT edate,其中 edate 不是'cast'作为它无法匹配的日期吗?
当我按照以下方式运行时:
WHERE date BETWEEN '10/15/2010' AND '12/15/2011'
如果它们在 2010 年 10 月 15 日到 2010 年 12 月 31 日的范围内,而不是从 2011 年 1 月 1 日到 2010 年 12 月 15 日的范围内,它将选择正确的日期。换句话说,它不会在一年中结束。
【问题讨论】:
-
你确定这是 MySQL 吗? ORA-01848 是 Oracle 错误消息,To_Date 是 Oracle 函数