代码之家  ›  专栏  ›  技术社区  ›  Reem

alter列(使用+where)

  •  0
  • Reem  · 技术社区  · 10 年前

    我使用postgresql 9.3, 我使用此查询将时间戳列转换为UTC。

    ALTER TABLE table 
    ALTER timestamp TYPE timestamp 
    USING timestamp AT TIME ZONE 'UTC' ;
    

    我需要将WHERE cluose添加到查询中:

    ALTER TABLE table 
    ALTER timestamp TYPE timestamp where timestamp < '2015-01-06 00:00:00'
    USING timestamp AT TIME ZONE 'UTC' ;
    

    但是,这不起作用。 关于如何做到这一点,没有明确的资源。

    2 回复  |  直到 7 年前
        1
  •  2
  •   pensnarik    10 年前

    您只能将ALTERTYPE构造应用于整个列,而不能应用于某些行。若要转换时间戳值,则应改用UPDATE。

        2
  •  2
  •   Vao Tsun    10 年前

    不能使用where更改表列类型,因为“where”是DML,“alter”是DDL。使用更新时间