SQL-根据月份和日期过滤值

时间:2019-01-16 14:28:39

标签: sql oracle date

我正在努力完成工作。

我只需要日期在特定日期和月份之间的行。

示例仅显示日期在01/05(DD / MM)和08/07(DD / MM)之间的行,该日期可以在字段中的表tasks中找到信息。 年份毫无意义,但结果可能只在该年的两个日期之间。

我尝试过:

  • BETWEEN (TO_DATE ('01/05','DD/MM') AND (TO_DATE('08/07', 'DD/MM')
  • EXTRACT (DD/MM) from information

这些都没有为我工作,我希望你们中的某人可以帮助我解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

您似乎想忽略年份。如果是这样,那么我建议:

TO_CHAR(datecol, 'MM/DD') BETWEEN '05/01' AND '07/08'

为了使BETWEEN在这种情况下起作用,您需要采用MM-DD顺序的格式。

如果要在特定年份使用此功能,请使用直接日期比较:

datecol >= DATE '2018-05-01' AND
datecol < DATE '2018-07-09'  -- note this is one day later

Oracle日期具有时间成分,因此进行比较时需要小心。