Aracılığıyla paylaş


~ (Bit Düzeyinde DEĞİl)

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

Tamsayı değeri üzerinde bit düzeyinde mantıksal DEĞİl işlemi gerçekleştirir.

Sözdizimi

~ expression

Tartışmalar

ifade

Bit veya bigint veri türlerinin geçerli bir ifadesidir. İfade, bit düzeyinde işlem için ikili sayı olarak değerlendirilir.

Dönüş Türleri

giriş değeri bit ise bit.

giriş değeri bigint ise bigint.

Açıklamalar

~ bit düzeyinde işleç, her biti sırayla alarak ifadede bit düzeyinde bir mantıksal NOT gerçekleştirir. İfadenin değeri 0 ise, sonuç kümesindeki bitler 1 olarak ayarlanır; aksi takdirde, sonuçtaki bit 0 değerine temizlenir. Başka bir deyişle, birler sıfırlara, sıfırlar ise bire değiştirilir.

Çizim için, 170'in ikili gösterimi 0000 0000 1010 1010'dur. Bu değer üzerinde bit düzeyinde DEĞİl işleminin gerçekleştirilmesi, ondalık -171 olan 1111 1111 0101 0101 ikili sonucunu üretir.

(~170)
0000 0000 1010 1010
-------------------
1111 1111 0101 0101

Örnekler

Ortak bir giriş veri kümesiyle:

WITH MyCTE AS (
	SELECT
		CAST(0 AS BIT) AS bit0,
		CAST(1 AS BIT) AS bit1,
		CAST(NULL AS BIT) AS bitN,
		CAST(0 AS BIGINT) AS bigint0,
		CAST(1 AS BIGINT) AS bigint1,
		CAST(NULL AS BIGINT) AS bigintN
	FROM input
)

bit ifadelerine işleci uygulama:

SELECT
	bit0,
	bit1,
	bitN,
	~ bit0 AS NOT0,
	~ bit1 AS NOT1,
	~ bitN AS NOTnull
INTO bitNOT
FROM MyCTE

İadeler

bit0 bit1 bitN NOT0 NOT1 NOTnull
yanlış doğru null doğru yanlış null

bigint ifadelerine işleci uygulama:

SELECT
	bigint0,
	bigint1,
	bigintN,
	~ bigint0 AS NOT0,
	~ bigint1 AS NOT1,
	~ bigintN AS NOTnull,
	~ 170 AS NOT170
INTO bigintNOT
FROM MyCTE

İadeler

bit0 bit1 bitN NOT0 NOT1 NOTnull NOT170
0 1 null -1 -2 null -171

Çıkış türleri doğrulanıyor:

SELECT
	GetType(~ bit0) AS NOTtype_bit,
	GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE

İadeler

NOTtype_bit NOTtype_bigint
parça bigint

Ayrıca Bkz.