在編寫接受來自用戶的tsrange文字的程序,然後插入各種SQL查詢的過程中,今天我正在測試一些tsrange以瞭解它們是如何被PostgreSQL 9.3.5解釋的。PostgreSQL tsrange:它是正確的lower_inf('( - 無窮,今天)':: tsrange)爲假?
這其中,尤其是行爲異常: '(-infinity今天)' :: tsrange
的lower_inf功能說下界是不是無限
test=> SELECT lower_inf('(-infinity,today)'::tsrange);
lower_inf
-----------
f
(1 row)
然而,PostgreSQL的(!)報告這個tsrange包含一個像'1000-01-01 BC'這樣的時間戳。 。 。
test=> SELECT '(-infinity,today)'::tsrange @> '1000-01-01 BC'::timestamp;
?column?
----------
t
(1 row)
任何人都可以闡明這一點嗎?
看起來很可疑的bug報告證明給我。 – 2014-11-24 12:22:36
@CraigRinger:起初我也這麼認爲。但事實證明,這是有記錄的。更像是一個不幸的雙重使用術語「無窮大」。 – 2014-11-24 15:29:54