La función constructora para los tipos de conjunto tiene un único argumento que es una matriz de valores del tipo base correspondiente. Los valores deben estar ordenados y no pueden tener nulos ni duplicados.
Los tipos de rango unitarios tienen una función constructora que acepta cuatro argumentos, donde los dos últimos son opcionales. Los primeros dos argumentos especifican, respectivamente, el límite inferior y el superior, y los dos últimos argumentos son valores booleanos que indican, respectivamente, si los límites inferior y el superior son inclusivos o no. Se supone que los dos últimos argumentos son, respectivamente, verdadero y falso si no se especifican. Nótese que los rangos de enteros se transforman en forma normal, es decir, con límite inferior inclusivo y límite superior exclusivo.
Constructor para tipos de rango
span(lower base,upper base,leftInc bool=true,rightInc bool=false) → span
SELECT span(20.5, 25); -- [20.5, 25) SELECT span(20, 25, false, true); -- [21, 26) SELECT span(timestamptz '2001-01-01 08:00:00', '2001-01-03 09:30:00', false, true); -- (2001-01-01 08:00:00, 2001-01-03 09:30:00]
La función constructora para los tipos de conjuntos de rangos tiene un solo argumento que es una matriz de rangos del mismo subtipo.
Constructor for conjunto de rangos
spanset(span[]) → spanset
SELECT spanset(ARRAY[intspan '[10,12]', '[13,15]']); -- {[10, 16)} SELECT spanset(ARRAY[floatspan '[10.5,12.5]', '[13.5,15.5]']); -- {[10.5, 12.5], [13.5, 15.5]} SELECT spanset(ARRAY[tstzspan '[2001-01-01 08:00, 2001-01-01 08:10]', '[2001-01-01 08:20, 2001-01-01 08:40]']); -- {[2001-01-01 08:00, 2001-01-01 08:10], [2001-01-01 08:20, 2001-01-01 08:40]};