Partilhar via


Operadores de comparação (Transact-SQL)

Os operadores de comparação testam se duas expressões são iguais. Os operadores de comparação podem ser usados em todas as expressões menos em expressões dos tipos de dados text, ntextou image. A tabela a seguir lista os operadores de comparação Transact-SQL.

Operador

Significado

= (Igual a)

Igual a

> (Maior que)

Maior que

< (Menor que)

Menor que

>= (Maior que ou igual a)

Maior que ou igual a

<= (Menor que ou igual a)

Menor que ou igual a

<> (Diferente de)

Diferente de

!= (Diferente de)

Diferente de (não é padrão ISO)

!< (Não é menor que)

Não é menor que (não é padrão ISO)

!> (Não é maior que)

Não é maior que (não é padrão ISO)

Tipo de dados booleanos

O resultado de um operador de comparação tem o tipo de dados Boolean. Ele tem três valores: TRUE, FALSE e UNKNOWN. Expressões que retornam um tipo de dados Boolean são conhecidas como expressões booleanas.

Diferentemente de outros tipos de dados SQL Server, um tipo de dados Boolean não pode ser especificado como o tipo de dados de uma variável ou coluna de tabela, e não pode ser retornado em um conjunto de resultados.

Quando SET ANSI_NULLS é ON, um operador com uma ou duas expressões NULL retorna UNKNOWN. Quando SET ANSI_NULLS é OFF, as mesmas regras se aplicam, exceto que um operador igual (=) retorna TRUE quando as duas expressões são NULL. Por exemplo, NULL = NULL retorna TRUE quando SET ANSI_NULLS é OFF.

Expressões com tipos de dados Boolean são usadas na cláusula WHERE para filtrar as linhas que se qualificam para os critérios de pesquisa e instruções de linguagem de controle de fluxo, como IF e WHILE, por exemplo:

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