You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中插入指定年份范围及对应月份?

生成1961-2019年年份+月份数据并插入PostgreSQL表

1. 先创建年份月份表(如果还没建)

如果还没有存储年份月份的表,先建一个,保证年份和月份的组合唯一,避免重复数据:

CREATE TABLE IF NOT EXISTS year_month (
    id SERIAL PRIMARY KEY,
    year INT NOT NULL,
    month INT NOT NULL,
    UNIQUE(year, month)
);

2. 批量插入1961-2019年的所有月份数据

用PostgreSQL自带的generate_series函数快速生成年份和月份的组合,一次性插入:

INSERT INTO year_month (year, month)
SELECT
    years.year,
    months.month
FROM
    generate_series(1961, 2019) AS years(year),
    generate_series(1, 12) AS months(month)
ON CONFLICT (year, month) DO NOTHING; -- 已有数据则跳过,防止报错

3. 验证插入结果

执行以下查询确认数据是否正确生成:

SELECT year, month FROM year_month ORDER BY year, month;

额外提示

如果需要和气候数据表关联,直接用year和month字段做关联条件即可。如果需要日期类型的字段(比如每月第一天),可以给表新增字段并赋值:

ALTER TABLE year_month ADD COLUMN month_first_day DATE;
UPDATE year_month SET month_first_day = MAKE_DATE(year, month, 1);

内容的提问来源于stack exchange,提问作者Samyr de Souza Pereira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:30:56