选择日期范围内使用SQL
我试图使用SQL选择日期范围,我遇到的几个问题:选择日期范围内使用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'
它会选择合适的日期,如果他们落于10/15/2010到12/31/2010范围内而不是从1中所/ 1/2011至12/15/2010。换句话说,它不会在今年左右。
回答我的问题,是的,为了苹果比较苹果,我需要
select to_date(value, 'MM/DD/YYYY HH24:MI:SS') ... as edate
,还可以使用
To_Date('10/15/2011', 'MM/DD/YYYY HH24:MI:SS')
,以作出适当的日期日期比较。
那么你应该接受@ DB的答案,因为他在你做之前30分钟回答了答案。 :| – 2010-01-15 14:28:33
试试这个。 WHERE to_Date(edate,'MM/DD/YYYY')
我是一名SQL人员,但我认为如果您转换eDate,您应该很好。
对不起,我的意思是“select ... as edate”,所以edate没有实际意义,我不能做一个WHERE edate To_Date(edate,' MM/DD/YYYY') AND To_Date(edate,'MM/DD/YYYY') – Rio 2010-01-15 13:46:59
你确定这是MySQL吗? ORA-01848是一个Oracle错误消息,To_Date是一个Oracle函数 – MartW 2010-01-15 13:38:18