【问题标题】:redshift update command to set value from another column, this column name is identifierredshift update 命令从另一列设置值,该列名是标识符
【发布时间】: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。这很有帮助,并指引我走向正确的方向。

标签: amazon-redshift


【解决方案1】:

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

Update bannersession
Set timestamp_dt = "timestamp"::TIMESTAMP

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 2020-11-06
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多