= (Sama dengan) (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Membandingkan kesetaraan dua ekspresi (operator perbandingan) di SQL Server.

Konvensi sintaks transact-SQL

Sintaksis

expression = expression  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

expression
Adalah ekspresi yang valid. Jika ekspresi bukan dari jenis data yang sama, jenis data untuk satu ekspresi harus secara implisit dapat dikonversi ke jenis data yang lain. Konversi didasarkan pada aturan prioritas jenis data.

Jenis Hasil

Boolean

Keterangan

Saat Anda membandingkan menggunakan ekspresi NULL, hasilnya bergantung pada ANSI_NULLS pengaturan:

  • Jika ANSI_NULLS diatur ke AKTIF, hasil perbandingan apa pun dengan NULL TIDAK DIKETAHUI, mengikuti konvensi ANSI bahwa NULL adalah nilai yang tidak diketahui dan tidak dapat dibandingkan dengan nilai lain, termasuk NULL lainnya.

  • Jika ANSI_NULLS diatur ke NONAKTIF, hasil membandingkan NULL dengan NULL adalah TRUE, dan hasil membandingkan NULL dengan nilai lain adalah FALSE.

Untuk informasi selengkapnya, lihat SET ANSI_NULLS (Transact-SQL).

Ekspresi boolean yang mengakibatkan UNKNOWN berperilaku mirip dengan FALSE di sebagian besar, tetapi tidak semua kasus. Lihat NULL dan UNKNOWN (Transact-SQL) dan NOT (Transact-SQL) untuk informasi selengkapnya.

Contoh

J. Menggunakan = dalam kueri sederhana

Contoh berikut menggunakan operator Equals untuk mengembalikan semua baris dalam HumanResources.Department tabel di mana nilai dalam GroupName kolom sama dengan kata 'Manufacturing'.

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

Berikut adalah hasil yang ditetapkan.

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

B. Membandingkan nilai NULL dan non-NULL

Contoh berikut menggunakan operator perbandingan Equals (=) dan Not Equal To (<>) untuk membuat perbandingan dengan NULL dan nilai nonnull dalam tabel. Contoh juga menunjukkan bahwa IS NULL tidak terpengaruh oleh SET ANSI_NULLS pengaturan.

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

Berikut adalah hasil yang ditetapkan.

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)  
  

Lihat Juga

Tipe Data (Transact-SQL)
Ekspresi (Transact-SQL)
Operator (Transact-SQL)