Aracılığıyla paylaş


& (Bit düzeyinde AND) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

İki tamsayı değeri arasında bit düzeyinde mantıksal AND işlemi gerçekleştirir.

Transact-SQL söz dizimi kuralları

Syntax

expression & expression  

Arguments

expression
Tamsayı veri türü kategorisinin veri türlerinden herhangi birinin, bitinin veya ikili ya da varbinary veri türlerinin herhangi bir geçerli ifadesidir. ifadesi , bit düzeyinde işlem için ikili sayı olarak değerlendirilir.

Note

Bit düzeyinde bir işlemde, yalnızca bir ifadeikili veya varbinary veri türünde olabilir.

Sonuç Türleri

giriş değerleri int ise int.

giriş değerleri smallint ise smallint.

giriş değerleri tinyint veya bit ise tinyint.

Remarks

& bit düzeyinde işleci, iki ifade arasında bit düzeyinde mantıksal AND gerçekleştirir ve her iki ifade için de karşılık gelen her biti alır. Sonuçtaki bitler, yalnızca giriş ifadelerindeki her iki bitin de (çözümlenmekte olan bit için) 1 değerine sahip olması durumunda 1 olarak ayarlanır; aksi takdirde, sonuçtaki bit 0 olarak ayarlanır.

Sol ve sağ ifadelerin farklı tamsayı veri türleri varsa (örneğin, sol ifadesmallint ve sağ ifadeint ise), küçük veri türünün bağımsız değişkeni daha büyük veri türüne dönüştürülür. Bu durumda, smallintifadesi bir int'e dönüştürülür.

Examples

Aşağıdaki örnek, değerleri depolamak için int veri türünü kullanarak bir tablo oluşturur ve bir satıra iki değer ekler.

CREATE TABLE bitwise (   
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

Bu sorgu, ve a_int_value sütunları arasında b_int_value bit düzeyinde AND gerçekleştirir.

SELECT a_int_value & b_int_value  
FROM bitwise;  
GO  

Sonuç kümesi aşağıdadır:

-----------   
10            
  
(1 row(s) affected)  

170 'in ikili gösterimi (a_int_value veya A) şeklindedir 0000 0000 1010 1010. 75 'in ikili gösterimi (b_int_value veya B) şeklindedir 0000 0000 0100 1011. Bu iki değer üzerinde bit düzeyinde AND işleminin gerçekleştirilmesi, ondalık 10 olan ikili sonucu 0000 0000 0000 1010üretir.

(A & B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 0000 1010  

Ayrıca Bkz.

İfadeler (Transact-SQL)
İşleçler (Transact-SQL)
Bit Düzeyinde İşleçler (Transact-SQL)
&= (Bit Düzeyinde VE Atama) (Transact-SQL)
Bileşik İşleçler (Transact-SQL)