& (Bitwise AND) (Azure Stream Analytics)
Melakukan operasi AND logis bitwise di antara dua nilai bilangan bulat, mengevaluasi setiap bit yang sesuai dari kedua ekspresi.
Sintaks
expression & expression
Argumen
ekspresi
Adalah ekspresi yang valid dari jenis data bit atau bigint. Ekspresi diperlakukan sebagai angka biner untuk operasi bitwise.
Jenis Pengembalian
bit jika kedua nilai input bit.
bigint jika satu atau kedua nilai input adalah bigint.
Keterangan
Operator & bitwise melakukan logis bitwise DAN di antara kedua ekspresi, mengambil setiap bit yang sesuai untuk kedua ekspresi. Bit dalam hasil diatur ke 1 jika dan hanya jika kedua bit (untuk bit saat ini 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 0000 1010, yang desimal 10.
(170 & 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
Perlu dicatat bahwa mentransmisikan 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 = 10
- Opsi kedua : 170 & 75,0 => 170 & 1 = 0
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 AND00,
bit0 & bit1 AS AND01,
bit1 & bit0 AS AND10,
bit1 & bit1 AS AND11,
bitN & bit0 AS ANDnull
INTO bitAND
FROM MyCTE
Menampilkan:
bit0 | bit1 | bitN | AND00 | AND01 | AND10 | AND11 | ANDnull |
---|---|---|---|---|---|---|---|
salah | TRUE | NULL | false | false | false | TRUE | NULL |
Menerapkan operator pada ekspresi bigint :
SELECT
bigint0,
bigint1,
bigintN,
bigint0 & bigint0 AS AND00,
bigint0 & bigint1 AS AND01,
bigint1 & bigint0 AS AND10,
bigint1 & bigint1 AS AND11,
bigintN & bigint1 AS ANDnull,
170 & 75 AS ANDvalues
INTO bigintAND
FROM MyCTE
Menampilkan:
bigint0 | bigint1 | bigintN | AND00 | AND01 | AND10 | AND11 | ANDnull | Andvalues |
---|---|---|---|---|---|---|---|---|
0 | 1 | NULL | 0 | 0 | 0 | 1 | NULL | 10 |
Memvalidasi jenis output:
SELECT
GetType(bit0 & bit0) AS ANDtype_bit,
GetType(bigint0 & bigint0) AS ANDtype_bigint,
GetType(bit0 & bigint0) AS ANDtype_mixed
INTO typesAND
FROM MyCTE
Menampilkan:
ANDtype_bit | ANDtype_bigint | ANDtype_mixed |
---|---|---|
bit | bigint | bigint |
Lihat juga
- Operator Bitwise (Azure Stream Analytics)
- | (Bitwise ATAU) (Azure Stream Analytics)
- ^ (Bitwise Exclusive OR) (Azure Stream Analytics)
- ~ (Bitwise NOT)(Azure Stream Analytics)
- Gambaran Umum Jenis Data (Azure Stream Analytics)
- Fungsi Konversi (Azure Stream Analytics)
- Fungsi Bawaan (Azure Stream Analytics)