2013-10-30 66 views
1

postgresql中「BETWEEN」和「OVERLAPS」之間的區別是什麼?之間和可重複使用

你能舉個例子嗎?是否有可能在重疊語法 (NULL,x)OVERLAPS(?,?)中有NULL值。

回答

1

利用A,B,C的整數,a between b and c只是意味着這意味着什麼用簡單的英語:

b <= a and a <= c 

利用A,B,C,d整數,[a,b] overlaps [c,d]意味着他們已經元素,常見的有:

(具有重疊處理心界限時。)
not(b <= c) and not(d <= a) 

與範圍類型的交易時

空值表示無窮大。


實例:

denis=# select int4range(-1, 0), int4range(0, 1); 
int4range | int4range 
-----------+----------- 
[-1,0) | [0,1) 
(1 row) 

denis=# select int4range(null, 0), int4range(0, null); 
int4range | int4range 
-----------+----------- 
(,0)  | [0,) 
(1 row) 

denis=# select int4range(null, 0) && int4range(0, null) as test; 
test 
------ 
f 
(1 row) 

denis=# select int4range(null, 1) && int4range(0, null) as test; 
test 
------ 
t 
(1 row) 
相關問題