gpt4 book ai didi

sql - 根据其他列创建一个新列

转载 作者:行者123 更新时间:2023-12-04 12:06:42 26 4
gpt4 key购买 nike

我设法在新表中创建以下列:

CREATE TABLE t_issue_dates as

SELECT issue_d,

cast(substr(issue_d,5,4) as numeric) as issue_year
FROM myDB

(代码将年月变量重新编码为仅年变量)

但是,我无法将此变量添加到现有表“myDB”中。我试过使用:
ALTER TABLE myDB ADD v_year - 命令,但我无法做到正确。

有谁知道我如何将上述变量添加到“原始”表 myDB 中?

谢谢!

最佳答案

首先,许多数据库支持计算列或生成列。这意味着您可以通过执行以下操作向数据库添加虚拟列:

alter table t_issue_dates add issue_year as (cast(substr(issue_d, 5, 4) as numeric));

我推荐这种方法是因为 issue_year始终是最新的。

其次,您可以将其作为实际列来执行,但该值可能会过时并且需要为每个插入/更新的行重新计算:
alter table t_issue_dates add issue_year numeric;

update t_issue_dates
set issue_year = cast(substr(issue_d, 5, 4) as numeric);

作为记录,我会使用 int而不是 numeric .

关于sql - 根据其他列创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48865596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com