Operadores de comparación (motor de base de datos)

Los operadores de comparación se usan con los datos de caracteres, numéricos o de fecha, y se pueden utilizar en las cláusulas WHERE o HAVING de una consulta. Los operadores de comparación dan como resultado un tipo de datos booleano y devuelven TRUE o FALSE según el resultado de la condición probada.

Por ejemplo, para calcular una bonificación para aquellos empleados que han sido contratados antes del 15 de marzo de 1998, el cálculo de si el campo hire_date (fecha de contratación) de un empleado es menor o igual que 15 de marzo de 1998 proporcionará una lista de los empleados que deben recibir la bonificación.

Los operadores de comparación válidos son:

  • > (mayor que)

  • < (menor que)

  • = (igual a)

  • <= (menor o igual que)

  • >= (mayor o igual que)

  • != (no es igual a)

  • <> (no es igual a)

  • !< (no menor que)

  • !> (no mayor que)

Los operadores de comparación se pueden usar también en la lógica del programa para buscar una condición. Por ejemplo, si el valor de país o región es Reino Unido en lugar de España, puede que se apliquen distintas tarifas de envío. En este caso, se usan juntos una combinación de un operador de comparación, una expresión (el nombre de columna), un literal (‘Reino Unido’) y una palabra clave de programación de control de flujo (IF), para lograr este objetivo.

Cualquier persona que tenga acceso a los datos reales (para consultas) puede usar los operadores de comparación en consultas adicionales. En las instrucciones de modificación de datos, se recomienda utilizar solamente los operadores de comparación si sabe que dispone de los permisos adecuados y que sólo un pequeño grupo de personas podrá modificar los datos. Esto ayudará a mantener la integridad de los datos.

Las consultas usan también comparaciones de cadenas para comparar el valor de una variable local, cursor o columna con una constante. Por ejemplo, se deberían imprimir todas las filas de clientes si el país o región es el Reino Unido. En la siguiente tabla se muestran ejemplos de comparación de cadenas entre datos Unicode y no Unicode. ST1 es char y ST2 es nchar.

Comparación

Descripción

ST1 = ST2

Equivalente a CONVERT(nchar, ST1) = ST2 o CAST(ST1 as nchar) = ST2.

ST1 = 'non-Unicode string'

Comparación normal de cadenas de ISO.

ST2 = 'non-Unicode string'

Equivalente a ST2 = CONVERT(nchar, 'non-Unicode string') o ST2 = CAST('non-Unicode string' AS nchar).

ST2 = N'Unicode string'

Comparación Unicode.

CONVERT(nchar, ST1) = ST2 o CAST(ST1 AS nchar) = ST2

Comparación Unicode.

ST1 = CONVERT(char, ST2) o ST1 = CAST(ST2 AS char)

Comparación normal de cadenas de ISO.

N'' (cadena vacía Unicode entre paréntesis)

Cadena vacía.

'' (cadena vacía no Unicode)

Una cadena vacía o una cadena que contiene un carácter en blanco, en función de la configuración de ISO.