PostgreSQL の generate_series

PostgreSQL で、連番や、日付の並びなどSQLクエリ結果として求めるのに便利なのが、
generate_series 関数

1~4を ’ 1' ~ ' 4' で出力する
SELECT TO_CHAR(GENERATE_SERIES(1, 4), '9999') AS UCD

1~4を ’0001' ~ '0004' で出力する
SELECT TO_CHAR(GENERATE_SERIES(1, 4), '0999') AS UCD

日付 2022-12-15 から 12-25 までを1日単位で、
SELECT TO_CHAR(GENERATE_SERIES('2022-12-15'::DATE, '2022-12-25'::DATE, '1 DAY'), 'YYYY/MM/DD')

コードの生成、0~9 と A-Z 文字で

SELECT CONCAT(a.c1, b.c2) AS G_CD
FROM (
    SELECT CHR(ASCII('0') + GENERATE_SERIES(0, 9)) AS c1
    UNION ALL
    SELECT CHR(ASCII('A') + GENERATE_SERIES(0, 25)) AS c1
) a
CROSS JOIN (
    SELECT CHR(ASCII('0') + GENERATE_SERIES(0, 9)) AS c2
    UNION ALL
    SELECT CHR(ASCII('A') + GENERATE_SERIES(0, 25)) AS c2
) b