Operadores de comparación (Transact-SQL)

Los operadores de comparación comprueban si dos expresiones son iguales. Se pueden utilizar en todas las expresiones excepto en las de los tipos de datos text, ntext o image. En la siguiente tabla se presentan los operadores de comparación Transact-SQL.

Operador

Significado

= (Igual a)

Igual a

> (Mayor que)

Mayor que

< (Menor que)

Menor que

>= (Mayor o igual que)

Mayor o igual que

<= (Menor o igual que)

Menor o igual que

<> (No igual a)

No es igual a

!= (No es igual a)

No es igual a (no es del estándar ISO)

!< (No menor que)

No es menor que (no es del estándar ISO)

!> (No mayor que)

No es mayor que (no es del estándar ISO)

Tipo de datos Boolean

El resultado de un operador de comparación es del tipo de datos Boolean. Tiene tres valores: TRUE, FALSE y UNKNOWN. Las expresiones que devuelven tipos de datos Boolean se conocen como expresiones booleanas.

A diferencia de los otros tipos de datos de SQL Server, el tipo de datos Boolean no se puede especificar como tipo de datos de una columna o variable de una tabla y no se puede devolver en un conjunto de resultados.

Cuando SET ANSI_NULLS es ON, un operador con una o dos expresiones NULL devuelve UNKNOWN. Cuando SET ANSI_NULLS es OFF, se aplica la misma regla, excepto que el operador de igualdad (=) devuelve TRUE si ambas expresiones son NULL. Por ejemplo, NULL = NULL devuelve TRUE si SET ANSI_NULLS es OFF.

Las expresiones con tipos de datos Boolean se utilizan en la cláusula WHERE para filtrar las filas que cumplen las condiciones de búsqueda y en las instrucciones de lenguaje de control de flujo tales como IF y WHILE, por ejemplo:

USE AdventureWorks2008R2;
GO
DECLARE @MyProduct int;
SET @MyProduct = 750;
IF (@MyProduct <> 0)
   SELECT ProductID, Name, ProductNumber
   FROM Production.Product
   WHERE ProductID = @MyProduct;
GO