如何在SQL工作台/ J添加计算列
如何在SQL工作台/ J添加计算列(如客户端亚马逊红移)如何在SQL工作台/ J添加计算列
ALTER TABLE table_one
ADD COLUMN test_column
AS (
SELECT
(CASE WHEN LEFT(name,3) = "Ads" THEN "ok" ELSE "no" END)
FROM table_one
)
VARCHAR(100) NULL;
我还试图取代SELECT
声明与一个常量字符串值,它不起作用。
你可以这样做:
ALTER TABLE table_one
ADD COLUMN test_column VARCHAR(100) NULL;
GO;
然后通过更新所有行:
UPDATE table_one
SET test_column = (CASE WHEN LEFT(name,3) = "Ads" THEN "ok" ELSE "no" END)
谢谢,囊。那工作。使用更新是一个好主意 – Elm 2013-03-20 19:21:31
这与计算列不同,因为它不会为新插入的行填充test_column。您必须定期运行UPDATE语句(或将其添加为表格触发器,这在Redshift中不受支持)。 – MohamedEzz 2013-08-12 17:58:53
增加对未来的求职者:MySQL的5.7支持计算列,它是指为“生成”列。在MySQL Workbench中,您可以通过选择“列”选项卡中的行,单击“生成”按钮并在“默认/表达式”字段中添加公式(在开始时不带等号)来添加公式。
问题是关于Amazon Redshift,而不是MySQL。而关于SQL Workbench/J与MySQL Workbench无关 – 2017-12-16 18:54:22
我认为更好的方法是'ALTER TABLE',然后'更新'... – Sachin 2013-03-20 18:44:56