SQL Serverのビットデータ型は1ビット数値データ型です。 また、Sql ServerのBooleanデータ型としても使用されます。 Bitデータ型には、0、1、またはNULLのみを格納できます。 Booleanデータ型として使用される場合、0はfalseとして扱われ、1はtrueとして扱われます。
Bit列の記憶域の最適化
bitデータ型に必要な記憶域は1ビットのみです。 しかし、バイトには8ビットが含まれています。
SQL Serverは、他のビット列を単一のバイトにマージすることにより、ビット列の記憶域を最適化します。 テーブルに8個以下のビット列がある場合、SQL serverはそれらを1バイトに結合します。 9つの最大16ビットの列がある場合は、それらを2バイトに結合します。
Booleanデータ型
booleanは、TrueまたはFalseのいずれかの値を格納できるデータ型です。 SQL Serverには個別のBooleanデータ型はありません。 したがって、代わりにビットデータ型が使用されます。 値1はtrue&0as false
Bit列の例
BitまたはBoolean列を持つテーブルの作成
次のクエリは、BIT&Boolean列を持つテーブルを作成する方法を示しています
1
2
3
4
5
6
7
|
テーブルtestBitの作成(
col1ビット、
col2ビット、
col3ビット、
);
|
bit/Boolean列への値の挿入
1
2
3
4
5
6
7
8
9
10
11
12
|
テストビットに挿入
(col1,col2,col3)
Values(1,0,null)
select*from testBit
——- ——- ——-
1 0 ヌルヌル
|
ビット
に変換する文字列値TRUEとFALSEを変換すると、TRUE&0FALSEの場合は1になります。
他の文字列を変換するとエラーになります。
ビットに変換すると、ゼロ以外の値は1になります。
1
2
3
4
5
6
7
8
9
10
11
12
|
テストビットに挿入
(col1,col2,col3)
values(‘TRUE’,’FALSE’)’,100)
select*from testBit
***結果
——- ——- ——-
1 0 1
|
bit列をinteger
に変換するbitデータ型は数値データ型ですが、それらを追加できます。 これを行うには、追加する前にcast関数を使用して整数に変換します
1
2
3
4
|
テストビットからcast(col1as int)+cast(col1as int)+cast(col2as int)
を選択します
|