Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
SET_BIT, bit_offsettarafından tanımlanan bite göre expression_value uzaklığı döndürür. Bit değeri varsayılan olarak 1'dir veya bit_valuetarafından ayarlanır.
Transact-SQL söz dizimi kuralları
Sözdizimi
SET_BIT ( expression_value, bit_offset )
SET_BIT ( expression_value, bit_offset, bit_value )
Bağımsız değişken
expression_value
Büyük bir nesne (LOB) olmayan herhangi bir tamsayı veya ikili ifade.
bit_offset
Herhangi bir tamsayı.
Dönüş türleri
expression_valueile aynı tür.
bit_offset parametresi, ayarlayacak verilerin nbitini tanımlamak için kullanılır. Tamsayı türlerinde, 0bit en az önemli bittir. İkili türlerde, en sağdaki bayttaki en az önemli bit 0bittir.
bit_value bir tamsayı veya bit olabilir. Ancak, veri türü ne olursa olsun bit_value için tek geçerli değerler 1 ve 0'dır. bit_value 1 veya 0 veya null değilse SET_BIT hata oluşturur.
bit_offset negatifse veya veri türündeki son bitten büyükse SET_BIT hata oluşturur.
Açıklamalar
Bağlı sunucu veya geçici sorgular (OPENQUERY) içindeki bit işleme işlevleri için Dağıtılmış Sorgu işlevi desteklenmez.
Veritabanı Altyapısı'ndaki büyük nesne (LOB) veri türleri 8.000 bayt'ı aşan verileri depolayabilir. Bu veri türleri verileri satır taşması veri sayfasında depolar. LOB ayrıca, lob veri sayfalarına yapılan satır içi başvuruların metin veya görüntü işaretçisini kullanan ayrılmış LOB sayfa yapılarında veri depolayan veri türlerini de kapsar. Veri depolama hakkında daha fazla bilgi için Sayfaları ve kapsamlar mimarisi kılavuzuna bakın.
Bit işleme işlevleri tinyint, smallint, int, bigint, binary(n)ve varbinary(n) ) veri türleri üzerinde çalışır. varchar(max), nvarchar(max), varbinary(max), image, ntext, metin, xmlve ortak dil çalışma zamanı (CLR) BLOB türleri gibi büyük nesne (LOB) veri türleri desteklenmez.
Örnekler
A. Bir değeri değiştirmek için SET_BIT kullanma
Bu örnekte üçüncü bit (uzaklık 2, sıfır tabanlı dizin) 1olarak ayarlanıyor.
SELECT SET_BIT ( 0x00, 2 ) as VARBIN1;
Sonuç 0x04. Bunun nedeni, 0x000000dönüştürülmesidir. SET_BIT üçüncü bitini (uzaklık 2) 1 olarak değiştirerek 0100. Bu ikili değer daha sonra onaltılık gösterimde 4 olarak döndürülür.
B. Bir değeri özel bit_value değiştirmek için SET_BIT kullanma
Bu örnekte, bit_value varsayılan olarak 1 yerine 0 olarak ayarlanıyor.
SELECT SET_BIT ( 0xabcdef, 0, 0 ) as VARBIN2;
Sonuç 0xABCDEE.
expression_value, 1010 1011 1100 1101 1110 1111olan ikili dosyaya dönüştürülür. SET_BIT ilk biti 0 olarak değiştirir ve sonuç onaltılık biçimde döndürülür.