繁体   English   中英

在PostgreSQL中使用INTERVAL添加小时日期/时间

[英]Using INTERVAL in PostgreSQL to add hours date/time

这是我尝试运行的PostgreSQL中的代码:

select DATE_ADD(whenbooked,INTERVAL 4 HOUR) from booking WHERE id = 12310;

或者我尝试运行以下代码:

select DATE_ADD('2010-11-19 01:11:22',INTERVAL 4 HOUR)

两种代码都以相同的方式访问存储的日期/时间:

2010-11-19 01:11:22

PostgreSQL错误代码是这样的:

错误:语法错误在“ 4”或附近

它是指“间隔4小时”行中的“ 4”。

我不知道是什么问题。

我需要将时间/时间戳(与上述格式完全相同)与存储的时间/日期加上4小时进行比较。 因此,所需的最终结果是返回: '2010-11-19 05:11:22'

是否可以用PHP或直接用SQL完成?

根据您的评论

我只是在PgAdmin中输入这些代码

看起来您实际上是在使用PostgreSQL而不是MySQL。

您可以在此处查看在PostgreSQL上运行的现有代码在PostgreSQL上的运行情况,它给出与上述相同的错误。

要在PostgreSQL中正确使用日期,可以在PostgreSQL 文档站点上查看日期函数列表。

您想做的是这样的:

SELECT TIMESTAMP '2010-11-19 01:11:22' + INTERVAL '4 HOURS';

我找到了一种适用于PHP的方法:

$desiredEndTime = strtotime("2010-11-19 01:11:22 + 10 hours");
echo date("Y-m-d H:i:s", $desiredendtime);

看起来它将日期/时间转换为一个看起来很奇怪的整数。 然后在第二行将其转换回我想要的格式。 现在,我可以将其重新插入SQL。

谢谢!

使用“ strtotime”方法将其简单地转换为时间戳,然后您可以执行任何操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM