Reglas de comparación de valores

Esta sección describe las reglas para comparar valores de diferentes tipos en una consulta. Estas reglas se aplican a:

  • Comparar valores utilizando operadores de comparación.
  • Definir los valores máximo y mínimo en las funciones de agregación MIN y MAX.
  • Ordenar los registros del resultado de la consulta según se indica en la cláusula ORDER BY.

Si los tipos de valores difieren entre sí, la relación entre los valores se define en función de las prioridades de tipo:

La relación entre diferentes tipos de referencia se define en función de sus números de referencia internos de tabla.

Para tipos de datos idénticos, se aplican las siguientes reglas:

  • Tipo Booleano: TRUE es mayor que FALSE.
  • Tipo NÚMERO: reglas estándar de comparación de números.
  • Tipo FECHA: las fechas anteriores son menores que las fechas posteriores.
  • Tipo CADENA: las reglas se definen según la configuración regional de la base de datos.
  • Tipo de referencia: se aplican las reglas que se aplican a los valores de este tipo (por ejemplo, los números de registro se comparan como números)
  • Tipo de matriz: los elementos de la matriz se comparan secuencialmente.
  • Tablas de valores: los elementos de la tabla se comparan secuencialmente.
  • Objetos que no pertenecen a un tipo primitivo, ni a un tipo de enlace, ni a una matriz, ni a una tabla de valores:
    • Para el ordenamiento, los objetos se comparan en función de su representación en forma de cadena.
    • La comparación utilizando los operadores =<> se realiza verificando si el objeto se compara consigo mismo.
    • La comparación utilizando los operadores <, <=, >  y >= genera una excepción “Intento de comparar valores no comparables”.
      Por ejemplo, si el agrupamiento se ordena por la función CalculateExpressionWithGroupingArray(“Sum(SumTurnover)”, “Contractor”)), entonces el informe siempre se ordenará por el contenido de las matrices resultantes.
  • Campos con longitud ilimitada (cadena de longitud ilimitada, ValueStorage y campo VALUETYPE de una tabla de un gráfico de tipos de características).

¡Advertencia! Cualquier comparación de dos valores donde al menos uno de los valores sea NULL devuelve un resultado equivalente a FALSE.

 

Consulte también: Expresiones lógicas