Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle-用于将日期从一列复制到另一列的Update语句_Oracle_Sql Update - Fatal编程技术网

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

Oracle-用于将日期从一列复制到另一列的Update语句,oracle,sql-update,Oracle,Sql Update,在我的Oracle DB中,CustomerActivity表中有两个日期列;上次更新和上次添加。由于多年来的几次更改,应用程序使用了上次更新,但临时使用了上次添加的日期,在某些情况下,两个列都是随机的(听起来像是糟糕的开发/缺陷),现在它切换回上次更新的日期(疯狂,对吧?) 在任何情况下,我都希望仅当Last Added>Last Update时,才将上次添加的日期值复制到Last Update列中。在此之后,我将从表中删除最后添加的列(永久修复) 如何为此编写更新语句?正如您明确指出的,“只

在我的Oracle DB中,CustomerActivity表中有两个日期列;上次更新和上次添加。由于多年来的几次更改,应用程序使用了上次更新,但临时使用了上次添加的日期,在某些情况下,两个列都是随机的(听起来像是糟糕的开发/缺陷),现在它切换回上次更新的日期(疯狂,对吧?)

在任何情况下,我都希望仅当Last Added>Last Update时,才将上次添加的日期值复制到Last Update列中。在此之后,我将从表中删除最后添加的列(永久修复)

如何为此编写更新语句?

正如您明确指出的,“只有在Last Added>Last Update的情况下,我才想将上次添加的日期值复制到Last Update列中”。由于SQL是一种声明性语言,您只需将其转换为SQL:

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

仅当上次添加>上次更新

现在你只需要把所有的东西放在一起:

UPDATE CustomerActivity
SET    last_updated = last_added
WHERE  last_added > last_updated
正如您明确指出的,“只有在Last Added>Last Update的情况下,我才会将上次添加的日期值复制到Last Update列中”。由于SQL是一种声明性语言,您只需将其转换为SQL:

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

仅当上次添加>上次更新

现在你只需要把所有的东西放在一起:

UPDATE CustomerActivity
SET    last_updated = last_added
WHERE  last_added > last_updated

当我运行此操作时,所有符合条件的行(提交前)的记录都为空,不确定为什么会发生这种情况当我运行此操作时,所有符合条件的行(提交前)的记录都为空,不确定为什么会发生这种情况
UPDATE CustomerActivity
SET    last_updated = last_added
WHERE  last_added > last_updated