gpt4 book ai didi

postgresql - 在 postgresql 函数中动态生成表/数组

转载 作者:行者123 更新时间:2023-11-29 12:34:25 29 4
gpt4 key购买 nike

我需要创建 postgresql 函数

CREATE FUNCTION date_ranges (_start date, end date) 
RETURNING TABLE(day_in_range date) AS...

如果我调用 date_ranges('2010-06-01', 2010-06-05')我应该收到

2010-06-01
2010-06-02
2010-06-03
2010-06-04
2010-06-05

有什么办法吗?

最佳答案

如果您使用的是 Postgresql 8.4:

SELECT generate_series(_start ::timestamp,_end ::timestamp,'1 day');

例子:

postgres=# SELECT generate_series('2010-06-01'::timestamp,
postgres-# '2010-06-05'::timestamp,'1 day')::date;
generate_series
-----------------
2010-06-01
2010-06-02
2010-06-03
2010-06-04
2010-06-05

在旧版本上:

SELECT '2010-06-01'::date + step FROM
generate_series(0,'2010-06-05'::date - '2010-06-01'::date,1) AS t(step);

关于postgresql - 在 postgresql 函数中动态生成表/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057946/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com