sql - 使用 SQL 生成日期范围

标签 sql oracle

我有一个 SQL 查询,它接受一个日期参数(如果我要将它放入一个函数中),我需要在去年的每一天运行它。

如何生成过去 365 天的列表,以便我可以使用直接 SQL 来执行此操作?

显然生成一个列表 0..364 也可以,因为我总是可以:

SELECT SYSDATE - val FROM (...);

最佳答案

无需使用超大表或 ALL_OBJECTS 表:

SELECT TRUNC (SYSDATE - ROWNUM) dt
  FROM DUAL CONNECT BY ROWNUM < 366

会做的伎俩。

关于sql - 使用 SQL 生成日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418318/

相关文章:

mysql - SQL:每个饮酒者经常光顾的酒吧(使用 NOT EXISTS)

sql - 我在哪里可以找到postgresql中的sql语句日志?

sql - 如何基于案例表达式中的条件更新行

spring - 如何在Oracle数据库中创建作业存储的Quartz表?

sql - 不同条件下的 Oracle order by

python - 如何在django查询中传递oracle优化提示

java - 将数据sql重命名为xml

MySQL - 如何计算主查询的行数,忽略子查询行?

sql - 如何识别存储在 Oracle DATE 列中的无效(损坏)值

sql - 如何获取有关 Oracle 中索引和表所有者的信息?