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