Estos operadores consideran la posición relativa de los cuadros delimitadores. Los operadores <<
, >>
, &<
y &>
consideran el valor X para el tipo tbox
y las coordenadas X para el tipo stbox
, los operadores <<|
, |>>
, &<|
y |&>
consideran las coordenadas Y para el tipo stbox
, los operadores <</
, />>
, &</
y /&>
consideran las coordenadas Z para el tipo stbox
y los operadores <<#
, #>>
, #&<
y #&>
consideran la dimensión de tiempo para los tipos tbox
y stbox
. Los operadores generan un error si ambos cuadros delimitadores no tienen la dimensión requerida.
Los operadores para la dimensión de valor numérico del tipo tbox
se dan a continuación.
¿Son los valores X del primer cuadro delimitador estrictamente menores que los del segundo?
tbox << tbox: boolean
SELECT tbox 'TBOX((1,2012-01-01),(2,2012-01-02))' << tbox 'TBOX((3,2012-01-03),(4,2012-01-04))'; -- true SELECT tbox 'TBOX((1,2012-01-01),(2,2012-01-02))' << tbox 'TBOX((,2012-01-03),(,2012-01-04))'; -- ERROR: Boxes must have X dimension
¿Son los valores X del primer cuadro delimitador estrictamente mayores que los del segundo?
tbox >> tbox: boolean
SELECT tbox 'TBOX((3,2012-01-03),(4,2012-01-04))' >> tbox 'TBOX((1,2012-01-01),(2,2012-01-02))'; -- true
¿No son los valores X del primer cuadro delimitador mayores que los del segundo?
tbox &< tbox: boolean
SELECT tbox 'TBOX((1,2012-01-01),(4,2012-01-04))' &< tbox 'TBOX((3,2012-01-03),(4,2012-01-04))'; -- true
¿No son los valores X del primer cuadro delimitador menores que los del segundo?
tbox &> tbox: boolean
SELECT tbox 'TBOX((1,2012-01-01),(2,2012-01-02))' &> tbox 'TBOX((1,2012-01-01),(4,2012-01-04))'; -- true
Los operadores para la dimensión de valor espacial del tipo stbox
se dan a continuación.
¿Están los valores X del primer cuadro delimitador estrictamente a la izquierda de los del segundo?
stbox << stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(2,2,2))' << stbox 'STBOX Z((3,3,3),(4,4,4))'; -- true
¿Están los valores X del primer cuadro delimitador estrictamente a la derecha de los del segundo?
stbox >> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' >> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- true
¿No están los valores X del primer cuadro delimitador a la derecha de los del segundo?
stbox &< stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(4,4,4))' &< stbox 'STBOX Z((3,3,3),(4,4,4))'; -- true
¿No están los valores X del primer cuadro delimitador a la izquierda de los del segundo?
stbox &> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' &> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- true
¿Están los valores de Y del primer cuadro delimitador estrictamente debajo de los del segundo?
stbox <<| stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(2,2,2))' <<| stbox 'STBOX Z((3,3,3),(4,4,4))'; -- true
¿Están los valores de Y del primer cuadro delimitador estrictamente arriba de los del segundo?
stbox |>> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' |>> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- true
¿No están los valores de Y del primer cuadro delimitador arriba de los del segundo?
stbox &<| stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(4,4,4))' &<| stbox 'STBOX Z((3,3,3),(4,4,4))'; -- true
¿No están los valores de Y del primer cuadro delimitador debajo de los del segundo?
stbox |&> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' |&> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- false
¿Están los valores Z del primer cuadro delimitador estrictamente delante de los del segundo?
stbox <</ stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(2,2,2))' <</ stbox 'STBOX Z((3,3,3),(4,4,4))';
¿Están los valores Z del primer cuadro delimitador estrictamente detrás de los del segundo?
stbox />> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' />> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- true
¿No están los valores Z del primer cuadro delimitador detrás de los del segundo?
stbox &</ stbox: boolean
SELECT stbox 'STBOX Z((1,1,1),(4,4,4))' &</ stbox 'STBOX Z((3,3,3),(4,4,4))'; -- true
¿No están los valores Z del primer cuadro delimitador delante de los del segundo?
stbox /&> stbox: boolean
SELECT stbox 'STBOX Z((3,3,3),(4,4,4))' /&> stbox 'STBOX Z((1,1,1),(2,2,2))'; -- true
Los operadores para la dimensión temporal de los tipos tbox
y stbox
son los siguientes.
¿Son los valores de T del primer cuadro delimitador estrictamente anteriores a los del segundo?
box <<# box: boolean
SELECT tbox 'TBOX((1,2000-01-01),(2,2000-01-02))' <<# tbox 'TBOX((3,2000-01-03),(4,2000-01-04)))'; -- true
¿Son los valores de T del primer cuadro delimitador estrictamente posteriores a los del segundo?
box #>> box: boolean
SELECT stbox 'STBOX T((3,3,2000-01-03),(4,4,2000-01-04))' #>> stbox 'STBOX T((1,1,2000-01-01),(2,2,2000-01-02))'; -- true
¿No son los valores de T del primer cuadro delimitador posteriores a los del segundo?
box &<# box: boolean
SELECT tbox 'TBOX((1,2000-01-01),(4,2000-01-04))' &<# tbox 'TBOX((3,2000-01-03),(4,2000-01-04)))'; -- true
¿No son los valores de T del primer cuadro delimitador anteriores a los del segundo?
box #&> box: boolean
SELECT stbox 'STBOX T((1,1,2000-01-01),(3,3,2000-01-03))' #&> stbox 'STBOX T((3,3,2000-01-03),(4,4,2000-01-04))'; -- true