Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2022 (16.x)
Azure SQL Database
AzureSQL Managed Instance
Titik akhir analitik SQL di Microsoft Fabric
Warehouse di Microsoft Fabric
SQL database di Microsoft Fabric
SET_BIT mengembalikan offset expression_value oleh bit yang ditentukan oleh bit_offset. Nilai bit default ke 1, atau diatur oleh bit_value.
Sintaks
SET_BIT ( expression_value, bit_offset )
SET_BIT ( expression_value, bit_offset, bit_value )
Argumen
expression_value
Bilangan bulat atau ekspresi biner apa pun yang bukan objek besar (LOB).
bit_offset
Bilangan bulat apa pun.
Jenis yang dikembalikan
Jenis yang sama dengan expression_value.
Parameter bit_offset digunakan untuk mengidentifikasi nth bit data yang akan diatur. Dalam jenis bilangan 0bulat, bit ke-adalah bit yang paling tidak signifikan. Dalam jenis biner, 0bit ke-adalah bit paling tidak signifikan di byte paling kanan.
bit_value bisa berupa bilangan bulat atau sedikit. Namun, satu-satunya nilai yang valid untuk bit_value adalah 1 dan 0, terlepas dari jenis datanya. SET_BIT akan melemparkan kesalahan jika bit_value bukan 1 atau 0 atau null.
SET_BIT akan melemparkan kesalahan jika bit_offset negatif atau lebih besar dari bit terakhir dalam jenis data.
Keterangan
Fungsionalitas Kueri Terdistribusi untuk fungsi manipulasi bit dalam server tertaut atau kueri ad hoc (OPENQUERY) tidak didukung.
Jenis data objek besar (LOB) di Mesin Database dapat menyimpan data yang melebihi 8.000 byte. Jenis data ini menyimpan data pada halaman data luapan baris. LOB juga mencakup jenis data yang menyimpan data pada struktur halaman LOB khusus, yang menggunakan teks atau penunjuk gambar referensi dalam baris ke halaman data LOB. Untuk informasi selengkapnya tentang penyimpanan data, lihat panduan arsitektur Halaman dan tingkat.
Fungsi manipulasi bit beroperasi pada kecil, smallint , int, bigint, biner (n), dan varbinary(n) jenis data. Jenis data objek besar (LOB), seperti varchar(max), nvarchar(max), varbinary(max), gambar, ntext, teks, xml, dan jenis BLOB runtime bahasa umum (CLR), tidak didukung.
Contoh
J. Menggunakan SET_BIT untuk mengubah nilai
Dalam contoh ini, bit ketiga (pada offset 2, indeks berbasis nol) sedang diatur ke 1.
SELECT SET_BIT ( 0x00, 2 ) as VARBIN1;
Hasilnya adalah 0x04. Ini karena expression_value dikonversi 0x00 ke 0000. SET_BIT mengubah bit ketiganya (offset 2) menjadi 1, membuatnya 0100. Nilai biner ini kemudian dikembalikan seperti 4 dalam representasi heksadesimal.
B. Gunakan SET_BIT untuk mengubah nilai dengan bit_value kustom
Dalam contoh ini, bit_value diatur ke 0 alih-alih default 1.
SELECT SET_BIT ( 0xabcdef, 0, 0 ) as VARBIN2;
Hasilnya adalah 0xABCDEE.
expression_value dikonversi ke biner, yaitu 1010 1011 1100 1101 1110 1111. SET_BIT mengubah bit pertama menjadi 0, dan hasilnya dikembalikan dalam format heksadesimal.