redshift update 命令从另一列设置值,该列名是标识符

Posted

技术标签:

【中文标题】redshift update 命令从另一列设置值,该列名是标识符【英文标题】:redshift update command to set value from another column, this column name is identifier 【发布时间】:2021-11-30 12:03:53 【问题描述】:

我在 Redshift 中有一个包含大量数据的现有表。此表有一个名为“timestamp”的列,其数据类型为 varchar。我创建了一个名为“timestamp_dt”的新列,其数据类型为时间戳,没有时区。

现在我想将数据从“timestamp”列拉到“timestamp_dt”列。

在命令下运行将不起作用,因为时间戳是关键字 并且添加双引号将不起作用,因为那样它将被视为字符串而不是列名。

Update table 
Set timestamp_dt = timestamp

提前感谢您的 cmets 和/或回答。

【问题讨论】:

双引号不会使其被视为字符串。字符串在 SQL 中用单引号表示:'this is a string'"column_name" 谢谢@a_horse_with_no_name。这很有帮助,并指引我走向正确的方向。 【参考方案1】:

最初出现时还有另一个问题。双引号有效,但随后需要强制转换。因此下面解决了这个问题。

Update bannersession
Set timestamp_dt = "timestamp"::TIMESTAMP

【讨论】:

以上是关于redshift update 命令从另一列设置值,该列名是标识符的主要内容,如果未能解决你的问题,请参考以下文章

Pandas - 基于 str 包含从另一列创建新列/值

Pandas:如果条件[重复],则从另一列更新列值

我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据

我需要使用索引和匹配从另一列条件匹配的列中提取数据

如何创建从另一列计算的列?

从另一列计算的列?