[英]Best method to determine if one timestamp lies within 15 minutes of another
[英]How to determine if one timestamp precedes another in postgresql?
我想在表中添加約束,要求checkout_time
繼續return_time
並且這兩者都要在現在之前(如果存在)。
在PostgreSQL中執行此操作的正確方法是什么? 我無法確定哪個日期函數最合適。
您可以像其他任何值一樣簡單地比較時間。
postgres=# SELECT TIMESTAMP '2011-03-11 10:40:13' < NOW();
?column?
----------
t
(1 row)
因此,您可以非常輕松地比較值。 因此,使用您的表,您可以添加CHECK
約束。
CREATE TABLE foo(
mydateTIMESTAMP
CHECK (mydate < NOW()));
您可以根據需要為表格生成盡可能多的CHECK
,並將它們與邏輯運算符相結合
除了DrColossos的回答,這里是檢查“一個接一個”:
ALTER TABLE foo ADD CONSTRAINT check_time CHECK (checkout_time < return_time)
你為什么不只使用<
操作符?
mydb=# select '2011-03-01'::timestamp < '2011-03-02'::timestamp;
?column?
----------
t
(1 row)
mydb=# select '2011-03-01'::timestamp < '2011-03-01'::timestamp;
?column?
----------
f
(1 row)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.