如何使用相应的 varchar 列生成日期系列

时间:2021-02-15 14:53:31

标签: postgresql

是否可以生成带有文本列的日期序列?

假设我需要'varchar 1'、'varchar 2'、'varchar 3',生成日期如下:

<头>
varchars 日期
varchar 1 2020-02-01
varchar 2 2020-02-01
varchar 3 2020-02-01
varchar 1 2020-02-02
varchar 2 2020-02-02
varchar 3 2020-02-02
varchar 1 2020-02-03
varchar 2 2020-02-03
varchar 3 2020-02-03

我怎样才能做到这一点?什么是正确的 sql?我已经设法使用日期生成_series,但不知道如何使用相应的 varchar 列执行此操作。

先谢谢了。

1 个答案:

答案 0 :(得分:1)

demo:db<>fiddle

您可以在 CROSS JOIN 函数上使用 generate_series()

SELECT
    varchars,
    my_date
FROM (
    VALUES ('varchar 1'), ('varchar 2'), ('varchar 3')
) as t(varchars)
CROSS JOIN generate_series(
    my_start_date, my_end_date, interval '1 day'
) as my_date
相关问题