Oracle - 用于将日期从1列复制到另一列的Update语句

时间:2015-10-15 19:42:26

标签: oracle sql-update

在我的Oracle数据库中,CustomerActivity表中有两个日期列;上次更新和上次添加。由于多年来的一些变化,该应用程序使用Last Updated,但暂时使用上次添加日期,在某些情况下,这两列都是随机的(听起来像是糟糕的开发/缺陷),现在它已切换回上次更新日期(疯狂的权利) ?)

在任何情况下,我都想将上次添加的日期值复制到上次更新的日期列中,只有在上次添加时>最近更新时间。在此之后,我将从表中删除最后添加的列(永久性修复)

如何为此编写Update语句?

1 个答案:

答案 0 :(得分:0)

正如您明确指出的那样,"我想将上次添加的日期值复制到上次更新的日期列中,只有在上次添加时>最后更新"。由于SQL是一种声明性语言,您只需将其转换为SQL:

  

我想将上次添加的日期值复制到上次更新日期列

SET last_updated = last_added
  

仅限上次添加>上次更新

WHERE last_added > last_updated

现在你只需要把它们放在一起:

UPDATE CustomerActivity
SET    last_updated = last_added
WHERE  last_added > last_updated