Delen via


= (is gelijk aan) (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Vergelijkt de gelijkheid van twee expressies (een vergelijkingsoperator) in SQL Server.

Transact-SQL syntaxis-conventies

Syntax

expression = expression  

Arguments

expression
Is een geldige expressie. Als de expressies niet van hetzelfde gegevenstype zijn, moet het gegevenstype voor één expressie impliciet worden omgezet in het gegevenstype van het andere. De conversie is gebaseerd op de regels van prioriteit van het gegevenstype.

Result Types

Boolean

Remarks

Wanneer u vergelijkt met behulp van een NULL-expressie, is het resultaat afhankelijk van de ANSI_NULLS instelling:

  • Als ANSI_NULLS dit is ingesteld op AAN, is het resultaat van een vergelijking met NULL ONBEKEND, na de ANSI-conventie dat NULL een onbekende waarde is en kan niet worden vergeleken met een andere waarde, inclusief andere NULL's.

  • Als ANSI_NULLS dit is ingesteld op UIT, is het resultaat van het vergelijken van NULL met NULL WAAR en het resultaat van het vergelijken van NULL met een andere waarde ONWAAR.

Zie set ANSI_NULLS (Transact-SQL)voor meer informatie.

Een booleaanse expressie die resulteert in ONBEKEND gedraagt zich in de meeste gevallen op ONWAAR, maar niet in alle gevallen. Zie NULL en UNKNOWN (Transact-SQL) en NOT (Transact-SQL) voor meer informatie.

Examples

A. = gebruiken in een eenvoudige query

In het volgende voorbeeld wordt de operator Equals gebruikt om alle rijen in de HumanResources.Department tabel te retourneren waarin de waarde in de GroupName kolom gelijk is aan het woord 'Productie'.

-- Uses AdventureWorks  
  
SELECT DepartmentID, Name  
FROM HumanResources.Department  
WHERE GroupName = 'Manufacturing';  

Hier is het resultatenoverzicht.

  
DepartmentID Name  
------------ --------------------------------------------------  
7            Production  
8            Production Control  
  
(2 row(s) affected)  
  

B. NULL- en niet-NULL-waarden vergelijken

In het volgende voorbeeld worden de vergelijkingsoperatoren Equals (=) en Not Equal To (<>) gebruikt om vergelijkingen te maken met NULL en niet-ullen in een tabel. In het voorbeeld ziet u ook dat IS NULL dit niet wordt beïnvloed door de SET ANSI_NULLS instelling.

-- 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;  

Hier is het resultatenoverzicht.

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)  
  

See Also

gegevenstypen (Transact-SQL)
Expressions (Transact-SQL)
Operators (Transact-SQL)