次の方法で共有


GET_BIT (Transact SQL)

適用対象: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric のSQL 分析エンドポイント Microsoft Fabric のウェアハウス

GET_BIT は 2 つのパラメーターを受け取り、bit_offsetで定義されたオフセット内にあるビットを expression_value で返します。

Transact-SQL 構文表記規則

構文

GET_BIT ( expression_value, bit_offset )

引数

expression_value

ラージ オブジェクトではない任意の整数式またはバイナリ式 (LOB)。

bit_offset

任意の整数。

戻り値の型

bit

GET_BITbit_offset パラメーターは、取得または設定するデータの nビットを識別するために使用されます。 整数型の場合、0 番目のビットは最下位ビットです。 バイナリ型の場合、0 番目のビットは右端のバイトの最下位ビットです。

bit_offset がデータ型の最後のビットより負か大きい場合、GET_BIT はエラーをスローします。

注釈

リンク サーバーまたはアドホック クエリ (OPENQUERY) 内のビット操作関数の分散クエリ機能はサポートされていません。

データベース エンジンのラージ オブジェクト (LOB) データ型は、8,000 バイトを超えるデータを格納できます。 これらのデータ型は、行オーバーフロー データ ページにデータを格納します。 LOB には、LOB データ ページへの行内参照のテキストまたはイメージ ポインターを使用する、専用の LOB ページ構造にデータを格納するデータ型も含まれます。 データ ストレージの詳細については、「ページとエクステントのアーキテクチャ ガイド」を参照してください。

ビット操作関数は、tinyintsmallintintbigintbinary(n)、および varbinary(n) データ型で動作します。 varchar(max)nvarchar(max)varbinary(max)イメージntextテキストxml、共通言語ランタイム (CLR) BLOB 型などのラージ オブジェクト (LOB) データ型はサポートされていません。

この例では、2 番目と 4 番目のビットが返されます。

SELECT GET_BIT ( 0xabcdef, 2 ) as Get_2nd_Bit,
GET_BIT ( 0xabcdef, 4 ) as Get_4th_Bit;

結果は次のようになります。

Get_2nd_Bit Get_4th_Bit
1 0

注意

バイナリの 0xabcdef は 1010 1011 1100 1101 1110 1111 です。 2 番目と 4 番目のビットが強調表示されています。