如何在sql workbench/j中添加计算列
如何在SQL workbench/j(作为amazon redshift的客户端)中添加计算列 我还尝试用一个常量字符串值替换如何在sql workbench/j中添加计算列,sql,amazon-redshift,calculated-columns,Sql,Amazon Redshift,Calculated Columns,如何在SQL workbench/j(作为amazon redshift的客户端)中添加计算列 我还尝试用一个常量字符串值替换SELECT语句,但它不起作用。您可以通过以下方法执行此操作: ALTER TABLE table_one ADD COLUMN test_column VARCHAR(100) NULL; GO; 然后通过以下方式更新所有行: UPDATE table_one SET test_column = (CASE WHEN LEFT(name,3)
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)
为未来的搜索者添加:MySQL 5.7支持计算列,它称之为“生成”列。在MySQL Workbench中,您可以通过选择Columns选项卡中的行,单击'Generated'按钮,并在Default/Expression字段中添加公式(开头没有等号)。我认为更好的方法是
更改表
,然后执行更新
…这与计算列不同,因为它不会为新插入的行填充test_列。您必须定期运行UPDATE语句(或者将其添加为表触发器,这在Redshift中不受支持)。它是关于SQL Workbench/J的,而不是关于MySQL Workbenchal的。因此,SQL标准将生成的[ALWAYS]指定为(函数)][STORED | VIRTUAL]
——Firebird使用语法计算的(已经有很长时间了)。单词VIRTUAL
也用于此,这是不幸的,因为它也是标准的存储类说明符之一(即[STORED | VIRTUAL]——前者在磁盘上,后者是动态计算的)。
UPDATE table_one
SET test_column = (CASE WHEN LEFT(name,3) = "Ads" THEN "ok" ELSE "no" END)