Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Sql 基于引用列的列值_Sql_Postgresql - Fatal编程技术网

Sql 基于引用列的列值

Sql 基于引用列的列值,sql,postgresql,Sql,Postgresql,我有一个表,其中有一列名为last_update,另一列名为next_update,两者都是“date”格式。现在的问题是如何使下一次更新中的日期值等于上一次更新中的日期值加上同一ID的设计周期。我计划编写类似的程序 value of column 'next_update' = value of column 'last_update' + designed period for the same ID 我如何用postgresql的sql语言编程。感谢您的帮助并提前向您表示感谢。这就是您的

我有一个表,其中有一列名为last_update,另一列名为next_update,两者都是“date”格式。现在的问题是如何使下一次更新中的日期值等于上一次更新中的日期值加上同一ID的设计周期。我计划编写类似的程序

value of column 'next_update' = value of column 'last_update' + designed period for the same ID
我如何用postgresql的sql语言编程。感谢您的帮助并提前向您表示感谢。

这就是您的意思吗

update t
    set next_update = last_update + interval 'x' day;
或者,如果您想要可变的内容:

update t
    set new_update = last_update + interval '1' day * x;

其中“x”可以是另一列或常量,也可以是
大小写
表达式。

也许这样就可以了

update table1 set next_update = last_update + interval '1' day

您可以这样做:

UPDATE myTable 
SET next_update = last_update + someInteger
见:

要对特定行执行此操作,只需执行以下操作:

UPDATE myTable 
SET next_update = last_update + someInteger
WHERE id = desiredID

如果要使用值
last\u update
+n天更新
next\u update
列,请在下面的查询中将“1”替换为值n

UPDATE A
SET  next_update = last_update + INTERVAL '1' day;

取决于要添加的时间,例如:+间隔“1小时”
您可以在

中找到更多信息,以天为单位衡量“设计周期”的方法?@m1Lb4nKs是以天为单位。您只需将天数(作为整数)添加到“last#u update”日期值中即可。@m1Lb4nKs我计划在每次更新last#u update列中的日期时自动更新它,我应该如何用sql语言编写它,嗯,你必须设置一个触发器,这是一个单独的问题。对于列中的不同行如何,因为有时我只想升级一个特定行,谢谢,请查看编辑。您将如何确定要更新的行?通过在web界面中选择要更新的项目,好的,非常感谢!是的,但我的意思是,您将如何唯一地标识要更新的行?