El operador de distancia <->
para los tipos de rango o de tiempo considera el lapso o período delimitador y devuelve la distancia más pequeña entre los dos valores. En el caso de valores de tiempo, el operador devuelve la cantidad de días o la cantidad de segundos entre los dos valores de tiempo. El operador de distancia también se puede usar para búsquedas de vecinos más cercanos utilizando un índice GiST o SP-GiST (ver “Indexación”).
Obtener la distancia mínima
numbers <-> numbers → base
dates <-> dates → integer
times <-> times → float
SELECT 3 <-> intspan '[6, 8)'; -- 3 SELECT floatspan '[1, 3]' <-> floatspan '(5.5, 7]'; -- 2.5 SELECT floatspan '[1, 3]' <-> floatspanset '{(5.5, 7],[8, 9]}'; -- 2.5 SELECT tstzspan '[2001-01-02, 2001-01-06)' <-> timestamptz '2001-01-07'; -- 86400 SELECT dateset '{2001-01-01, 2001-01-03, 2001-01-05}' <-> dateset '{2001-01-02, 2001-01-04}'; -- 0