gpt4 book ai didi

sql - 如何使用CAST和SQL中另一个表的信息添加新列?

转载 作者:行者123 更新时间:2023-12-03 08:19:28 24 4
gpt4 key购买 nike

我试图了解SQL中两个操作之间的关系-ADD COLUMN和CAST()。
我试图创建一个包含另一列值的长度的新列,而另一列的类型为INTEGER:

ALTER TABLE inventory 
ADD inventory_id_len AS (CHAR_LENGTH(CAST(inventory_id AS VARCHAR)) FROM rental);
但它返回:
ERROR:  syntax error at or near "AS"
LINE 4: ADD inventory_id_len AS (CHAR_LENGTH(CAST(inventory_id AS V...
谢谢。

最佳答案

在Postgres中,您需要使用generated always ... stored语法use来添加计算列。对于您的用例,它看起来像:

alter table inventory 
add inventory_id_len int
generated always as (char_length(inventory_id::text)) stored
;
在这种情况下,子查询毫无意义。计算的列在同一行上采用 inventory_id列的值。

关于sql - 如何使用CAST和SQL中另一个表的信息添加新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64803472/

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