簡體   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