2009-08-11 255 views
0

如何編寫查詢來查找時差?pgsql時間差?

時間格式是這樣 2009-08-12 2時59分59秒

我想比較 這次

2009-08-12 2時59分10秒

如何檢查這兩個

我想回到具有時間差一些行30秒

如何編寫SQL語句?

回答

2
select date_part('second',date1) - date_part('second',date2) 

在SQL你可以像這樣,給你在幾秒鐘內

輸出
+1

我認爲它不能很好地工作,因爲它只能在同一分鐘內工作。 如果您比較,句子將返回0 2009-08-12 02:59:59和2012-10-08 12:13:59 – 2009-12-03 12:06:28

1
SELECT * FROM your_table WHERE time1_column - time2_column = interval '30s' 

對不起,這是我能做到的最好,給你的問題的說明...

+0

我相信在time2_column大於time1_column的情況下,您也必須允許間隔爲'-30s'。 – Paul 2009-08-11 11:21:25

0

如果這兩個時間都在數據庫中的表,你可以直接使用 關係運算符(>,<列和=) Ex。如果你有一個表像 測試 ( ID BIGINT, 開始時間時間戳, 結束時間時間戳 );

那麼你可以有一個像 SELECT *查詢從測試開始時間在那裏>結束時間 等。

如果你想比較查詢兩個日期,你可以首先將文本轉換爲時間,然後比較它們 你可以使用:pgsql的的看到 日期時間函數:http://www.postgresql.org/docs/6.3/static/c10.htm 瞭解更多詳情