使用 SQL 生成日期范围

Generate a range of dates using SQL(使用 SQL 生成日期范围)
本文介绍了使用 SQL 生成日期范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a SQL query that takes a date parameter (if I were to throw it into a function) and I need to run it on every day of the last year.

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

How to generate a list of the last 365 days, so I can use straight-up SQL to do this?

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

Obviously generating a list 0..364 would work, too, since I could always:

SELECT SYSDATE - val FROM (...);

推荐答案

无需使用超大表或 ALL_OBJECTS 表:

There's no need to use extra large tables or ALL_OBJECTS table:

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

会解决问题.

这篇关于使用 SQL 生成日期范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)