= (É igual a) (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
Compara a igualdade de duas expressões (um operador de comparação) na SQL Server.
Convenções de sintaxe de Transact-SQL
Sintaxe
expression = expression
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
expressão
É qualquer expressão válida. Se as expressões não são do mesmo tipo de dados, o tipo de dados para uma expressão deve ser implicitamente conversível para o tipo de dados da outra expressão. A conversão é baseada nas regras de precedência de tipo de dados.
Tipos de resultado
Booliano
Comentários
Quando você compara usando uma expressão NULL, o resultado depende da configuração ANSI_NULLS
:
Se
ANSI_NULLS
for definido como ativado, o resultado de qualquer comparação com NULL será UNKNOWN, seguindo a convenção ANSI que NULL é um valor desconhecido e não pode ser comparado com nenhum outro valor, incluindo outros NULLs.Se
ANSI_NULLS
for definido como desativado, o resultado da comparação de NULL com NULL será TRUE, e o resultado da comparação de NULL com qualquer outro valor será FALSE.
Para obter mais informações, confira SET ANSI_NULLS (Transact-SQL).
Uma expressão booliana que resulta em UNKNOWN comporta-se de maneira semelhante a FALSE na maioria dos casos, mas não em todos. Confira NULL e UNKNOWN (Transact-SQL) e NOT (Transact-SQL) para obter mais informações.
Exemplos
a. Usando = em uma consulta simples
O exemplo a seguir usa o operador Igual a para retornar todas as linhas da tabela HumanResources.Department
em que o valor na coluna GroupName
é igual à palavra 'produção'.
-- Uses AdventureWorks
SELECT DepartmentID, Name
FROM HumanResources.Department
WHERE GroupName = 'Manufacturing';
Este é o conjunto de resultados.
DepartmentID Name
------------ --------------------------------------------------
7 Production
8 Production Control
(2 row(s) affected)
B. Comparando valores NULL e não NULL
O exemplo a seguir usa os operadores de comparação Igual a (=
) e Diferente de (<>
) para fazer comparações com valores NULL
e não nulos em uma tabela. O exemplo também mostra que IS NULL
não é afetado pela configuração de SET ANSI_NULLS
.
-- Create table t1 and insert 3 rows.
CREATE TABLE dbo.t1 (a INT NULL);
INSERT INTO dbo.t1 VALUES (NULL),(0),(1);
GO
-- Print message and perform SELECT statements.
PRINT 'Testing default setting';
DECLARE @varname int;
SET @varname = NULL;
SELECT a
FROM t1
WHERE a = @varname;
SELECT a
FROM t1
WHERE a <> @varname;
SELECT a
FROM t1
WHERE a IS NULL;
GO
-- SET ANSI_NULLS to ON and test.
PRINT 'Testing ANSI_NULLS ON';
SET ANSI_NULLS ON;
GO
DECLARE @varname int;
SET @varname = NULL
SELECT a
FROM t1
WHERE a = @varname;
SELECT a
FROM t1
WHERE a <> @varname;
SELECT a
FROM t1
WHERE a IS NULL;
GO
-- SET ANSI_NULLS to OFF and test.
PRINT 'Testing SET ANSI_NULLS OFF';
SET ANSI_NULLS OFF;
GO
DECLARE @varname int;
SET @varname = NULL;
SELECT a
FROM t1
WHERE a = @varname;
SELECT a
FROM t1
WHERE a <> @varname;
SELECT a
FROM t1
WHERE a IS NULL;
GO
-- Drop table t1.
DROP TABLE dbo.t1;
Este é o conjunto de resultados.
Testing default setting
a
-----------
NULL
(1 row(s) affected)
a
-----------
0
1
(2 row(s) affected)
a
-----------
NULL
(1 row(s) affected)
Testing ANSI_NULLS ON
a
-----------
(0 row(s) affected)
a
-----------
(0 row(s) affected)
a
-----------
NULL
(1 row(s) affected)
Testing SET ANSI_NULLS OFF
a
-----------
NULL
(1 row(s) affected)
a
-----------
0
1
(2 row(s) affected)
a
-----------
NULL
(1 row(s) affected)
Consulte Também
Tipos de dados (Transact-SQL)
Expressões (Transact-SQL)
Operadores (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários