Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
SQL Server'da iki ifadenin (karşılaştırma işleci) eşitliğini karşılaştırır.
Transact-SQL söz dizimi kuralları
Syntax
expression = expression
Arguments
expression
Geçerli bir ifadedir. İfadeler aynı veri türünde değilse, bir ifadenin veri türü örtük olarak diğerinin veri türüne dönüştürülebilir olmalıdır. Dönüştürme, veri türü önceliği kurallarına bağlıdır.
Sonuç Türleri
Boolean
Remarks
NULL ifadesi kullanarak karşılaştırma yaptığınızda, sonuç şu ayara ANSI_NULLS bağlıdır:
ON olarak ayarlanırsa
ANSI_NULLS, NULL ile yapılan herhangi bir karşılaştırmanın sonucu BİlİNMİYOR olur ve ANSI kuralına göre NULL bilinmeyen bir değerdir ve diğer DLL'ler de dahil olmak üzere başka bir değerle karşılaştırılamaz.KAPALI olarak ayarlanırsa
ANSI_NULLS, NULL ile NULL karşılaştırmasının sonucu TRUE olur ve NULL değerini başka bir değerle karşılaştırmanın sonucu YANLIŞ olur.
Daha fazla bilgi için bkz. SET ANSI_NULLS (Transact-SQL).
BİlİNMEYEN sonuçlu bir boole ifadesi çoğu durumda YANLIŞ'a benzer şekilde davranır, ancak tüm durumlarda böyle davranmaz. Daha fazla bilgi için bkz. NULL ve UNKNOWN (Transact-SQL) ve NOT (Transact-SQL).
Examples
A. Basit bir sorguda = kullanma
Aşağıdaki örnek, sütundaki HumanResources.Department değerin 'Manufacturing' sözcüğüne eşit olduğu tablodaki GroupName tüm satırları döndürmek için Eşittir işlecini kullanır.
-- Uses AdventureWorks
SELECT DepartmentID, Name
FROM HumanResources.Department
WHERE GroupName = 'Manufacturing';
Sonuç kümesi aşağıdadır.
DepartmentID Name
------------ --------------------------------------------------
7 Production
8 Production Control
(2 row(s) affected)
B. NULL ve NULL olmayan değerleri karşılaştırma
Aşağıdaki örnek, bir tablodaki ve olmayan değerlerle = karşılaştırma yapmak için Eşittir (<>) ve Eşit Değil (NULL) karşılaştırma işleçlerini kullanır. Örnekte, ayarın IS NULL etkilenmediği SET ANSI_NULLS de gösterilir.
-- 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;
Sonuç kümesi aşağıdadır.
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)
Ayrıca Bkz.
Veri Türleri (Transact-SQL)
İfadeler (Transact-SQL)
İşleçler (Transact-SQL)