如何通过SQL在表中新增Release_Year列提取电影上映年份?
新增电影上映年份列的实现方法
1. 先添加空列
用ALTER TABLE语句在数据表中新增Release_Year整数类型列:
ALTER TABLE your_movie_table ADD COLUMN Release_Year INT;
把your_movie_table替换成你实际的数据表名称。
2. 填充年份数据
假设原表有存储完整上映日期的列(如release_date),根据你使用的数据库类型,用对应函数提取年份并更新:
- MySQL/MariaDB:
UPDATE your_movie_table SET Release_Year = YEAR(release_date);
- SQL Server:
UPDATE your_movie_table SET Release_Year = DATEPART(YEAR, release_date);
- PostgreSQL:
UPDATE your_movie_table SET Release_Year = EXTRACT(YEAR FROM release_date)::INT;
3. 可选:创建自动同步的计算列
如果数据库支持,可直接生成自动计算年份的列,后续日期更新时年份会自动同步:
- MySQL:
ALTER TABLE your_movie_table ADD COLUMN Release_Year INT AS (YEAR(release_date)) STORED;
- SQL Server:
ALTER TABLE your_movie_table ADD Release_Year AS DATEPART(YEAR, release_date) PERSISTED;
- PostgreSQL:
ALTER TABLE your_movie_table ADD COLUMN Release_Year INT GENERATED ALWAYS AS (EXTRACT(YEAR FROM release_date)::INT) STORED;
内容的提问来源于stack exchange,提问作者Christopher
相关产品推荐
相关产品推荐

