我在PostgreSQL中有一个程序,我想在CURRENT_TIMESTAMP中添加分钟数,如下所示
timestamp_var:= CURRENT_TIMESTAMP + interval '20 minutes';
但分钟数是一个参数.
我们有这个功能吗?
请帮我解决这个问题
CREATE OR REPLACE FUNCTION modify_time(id users.id%TYPE, min integer) AS $$
BEGIN
UPDATE
users
SET
modified_at = CURRENT_TIMESTAMP
WHERE
user_id = id;
END
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我想将最小分钟添加到CURRENT_TIMESTAMP谢谢
stv*_*stv 53
您可以用整数乘以间隔.以下为您提供未来20分钟的时间戳:
select current_timestamp + (20 * interval '1 minute')
Run Code Online (Sandbox Code Playgroud)
或者,正如穆里森在对这个问题的另一个答案中提到的那样,有一种更简洁的表达方式:
select current_timestamp + (20 ||' minutes')::interval
Run Code Online (Sandbox Code Playgroud)
所以,你的代码看起来像:
CREATE OR REPLACE FUNCTION modify_time(id users.id%TYPE, min integer) AS $$
BEGIN
UPDATE
users
SET
modified_at = CURRENT_TIMESTAMP + (min * interval '1 minute')
WHERE
user_id = id;
END
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
mur*_*son 26
另一种方式是
select current_timestamp + (20 ||' minutes')::interval
Run Code Online (Sandbox Code Playgroud)