当前位置: 首页 > 面试题库 >

用SQL编写函数以遍历UDF中的日期范围

寇和璧
2023-03-14
问题内容

我正在尝试自动运行PLPGSQL一系列日期的函数的过程。
通常,我必须运行以下代码,每个函数调用每天生成一个表:

SELECT dhcp.singleday('2012-11-24'::date, '2012-11-25'::date);
SELECT dhcp.singleday('2012-11-25'::date, '2012-11-26'::date);
SELECT dhcp.singleday('2012-11-26'::date, '2012-11-27'::date);
SELECT dhcp.singleday('2012-11-27'::date, '2012-11-28'::date);
SELECT dhcp.singleday('2012-11-28'::date, '2012-11-29'::date);
SELECT dhcp.singleday('2012-11-29'::date, '2012-11-30'::date);
SELECT dhcp.singleday('2012-11-30'::date, '2012-12-01'::date);
SELECT dhcp.singleday('2012-12-01'::date, '2012-12-02'::date);
SELECT dhcp.singleday('2012-12-02'::date, '2012-12-03'::date);
SELECT dhcp.singleday('2012-12-03'::date, '2012-12-04'::date);

是否有一个好的方法,可以通过一个简单的循环或函数针对任意日期范围来自动执行此类操作?

我认为可能很难逐月进行处理,因此我认为最好假设日期范围为一个月。


问题答案:

无需功能:

select dhcp.singleday(a::date, a::date + 1)
from generate_series(
    '2012-11-24'::date,
    '2012-12-03',
    '1 day'
) s(a)

这将适用于任何日期范围。不只是一个月内。



 类似资料:
  • 问题内容: 我想遍历一系列的日历日期,每次迭代为+1天。我将使用Java中围绕JodaTime构建的东西-NodeJS中是否有类似的东西? 问题答案: 您可以在node.js应用程序中使用moment.js。 然后,您可以很容易地做到这一点: 嗯…这看起来很像您已经在自己的答案中编写的代码。Moment.js是一个更受欢迎的库,具有大量功能,但是我想知道哪个库的性能更好?也许您可以测试并告诉我们。

  • 问题内容: 我有一个表,其中每一行都有开始和结束日期时间。这些可以是短跨度或长跨度。 我想查询具有两个开始和停止日期时间的所有行的交集的总持续时间。 如何在MySQL中做到这一点? 还是必须选择与查询开始和结束时间相交的行,然后计算每行的实际重叠并将其累加到客户端? 举个例子,使用毫秒使它更清晰: 一些行: 我们想知道这些行在1030和1100之间的总时间。 让我们计算每行的重叠: 因此,本例中的

  • 队列是使用单链表实现的。 变量back“指向”链接列表中的第一个节点。在后面添加新元素(排队)。 变量前端“指向”链表中的最后一个节点。元素从前面移除(退出队列)。 这个实现与通常的队列相反,在通常的队列中,后面是最后一个节点,前面是第一个节点。我知道这不是实现队列的好方法,但它是使用链表编码的好方法。 我已经编写了enqueue()函数,但是我不确定dequeue()有什么问题。我必须到前面,这

  • 需要帮助编写一个cassandra udf来添加/除/乘两个变量。尝试下面的代码,但它似乎不工作。而且我没有在Java的经验,所以可能是我不能调试。感谢你的帮助。

  • 主要内容:GETDATE (),DATEPART(),DATEADD(),DATEDIFF(),CONVERT ()在 T-SQL 中,日期函数用于生成日期和时间的查询。 GETDATE () GETDATE()返回当前日期和时间。 GETDATE ()函数的语法 — 示例 该查询将返回 T-SQL 中的当前日期。 DATEPART() 它给出了日期或时间的一部分。 DATEPART()函数的语法 - 示例 该查询在 T-SQL 中返回当月的一部分。 DATEADD() 它通过减去或加上日期和时

  • 此页面列出了最常用的SQL Server日期函数,它们能够有效地处理日期和时间日期。 返回日期和时间函数 编号 函数 描述说明 1 DATENAME 以字符串形式返回日期部分 2 DATEPART 以整数形式返回日期部分 3 DAY 以整数形式返回指定日期 4 MONTH 以整数形式返回指定日期的月份 5 YEAR 以整数形式返回日期的年份。 返回两个日期之间的差值 编号 函数 描述说明 1 DA