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 命令从另一列设置值,该列名是标识符的主要内容,如果未能解决你的问题,请参考以下文章