Bagikan melalui


| (Bitwise ATAU)

✅ Azure Stream Analytics ✅ Fabric Eventstream

Melakukan operasi OR logis bitwise antara dua nilai bilangan bulat, mengevaluasi setiap bit yang sesuai dari kedua ekspresi.

Sintaksis

expression | expression

Argumen

ekspresi

Adalah ekspresi yang valid dari jenis data bit atau bigint. Ekspresi diperlakukan sebagai angka biner untuk operasi bitwise.

Jenis Kembalian

bit jika kedua nilai input bit.

bigint jika satu atau kedua nilai input bernilai besar.

Komentar

| operator bitwise melakukan logis bitwise ATAU di antara dua ekspresi, mengambil setiap bit yang sesuai untuk kedua ekspresi. Bit dalam hasil diatur ke 1 jika salah satu atau kedua bit (untuk bit saat ini yang diselesaikan) dalam ekspresi input memiliki nilai 1; jika tidak, bit dalam hasil diatur ke 0.

Untuk ilustrasi, representasi biner 170 adalah 0000 0000 1010 1010. Representasi biner 75 adalah 0000 0000 0100 1011. Melakukan operasi BITWISE AND pada kedua nilai ini menghasilkan hasil biner 0000 0000 1110 1011, yaitu desimal 235.

(170 | 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011

Perlu dicatat bahwa transmisi nilai FLOAT ke BIGINT, dan menerapkan operator bitwise di atasnya paling sering tidak akan mengembalikan hasil yang sama seperti mentransmisikannya ke BIT dan menerapkan operator yang sama:

  • Opsi pertama : 170 | 75,0 => 170 | 75 = 235
  • Opsi kedua : 170 | 75,0 => 170 | 1 = 171

Lihat Gambaran Umum Jenis Data untuk aturan konversi ke bit.

Contoh

Dengan himpunan data input umum:

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
)

Menerapkan operator pada ekspresi bit :

SELECT
	bit0,
	bit1,
	bitN,
	bit0 | bit0 AS OR00,
	bit0 | bit1 AS OR01,
	bit1 | bit0 AS OR10,
	bit1 | bit1 AS OR11,
	bitN | bit0 AS ORnull
INTO bitOR
FROM MyCTE

Pengembalian:

bit0 bit1 bitN OR00 OR01 OR10 OR11 ORnull
tidak benar benar NOL tidak benar benar benar benar NOL

Menerapkan operator pada ekspresi bigint :

SELECT
	bigint0,
	bigint1,
	bigintN,
	bigint0 | bigint0 AS OR00,
	bigint0 | bigint1 AS OR01,
	bigint1 | bigint0 AS OR10,
	bigint1 | bigint1 AS OR11,
	bigintN | bigint1 AS ORnull,
	170 | 75 AS ORvalues
INTO bigintOR
FROM MyCTE

Pengembalian:

bigint0 bigint1 bigintN OR00 OR01 OR10 OR11 ORnull ORvalues
0 1 NOL 0 1 1 1 NOL 235

Memvalidasi jenis output:

SELECT
	GetType(bit0 | bit0) AS ORtype_bit,
	GetType(bigint0 | bigint0) AS ORtype_bigint,
	GetType(bit0 | bigint0) AS ORtype_mixed
INTO typesOR
FROM MyCTE

Pengembalian:

ORtype_bit ORtype_bigint ORtype_mixed
sedikit bigint bigint

Lihat Juga