是否可以生成带有文本列的日期序列?
假设我需要'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 列执行此操作。
先谢谢了。
答案 0 :(得分:1)
您可以在 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