web-dev-qa-db-ja.com

どのようにしてSQLサーバーにyes/noブール値フィールドを作成しますか?

アクセスデータベースから変換するとき、または一般にyes/noブール値フィールドを作成するためのベストプラクティスは何ですか?

271
leora

同等のものはビットフィールドです。

SQLでは、0と1を使用してビットフィールドを設定します(Accessのyes/noフィールドと同じ)。 Management Studioでは、(少なくとも最近のバージョンでは)false/true値として表示されます。

ASP.NETを介してデータベースにアクセスすると、フィールドはブール値として公開されます。

372
Guffa

BITデータ型は通常、ブール値(falseの場合は0、trueの場合は1)を格納するために使用されます。

95
Alex Martelli

bitカラム型を使うことができます。

21
Mark Byers

データ型bitを使用できます

0より大きい挿入値は '1'として格納されます。

0より小さい挿入された値は '1'として格納されます

「0」として挿入された値は「0」として格納されます

これはMS SQL Server 2012 Expressにも当てはまります。

17
P_Fitz

BITフィールドを使うことができます。

既存のテーブルにBIT列を追加する場合、SQLコマンドは次のようになります。

ALTER TABLE table_name ADD yes_no BIT

新しいテーブルを作成したい場合は、CREATE TABLE table_name (yes_no BIT)を実行できます。

16
John Mark

テーブル作成中の使用例

[ColumnName]     BIT   NULL   DEFAULT 0
13
torina

ビットの使用を言う答えはすでにあります。これらの答えにもっと追加します。

ブール値を表すには bit を使用する必要があります。

MSDNの記事からのコメント。

ビットは1、0、またはNULLの値を取ります。

SQL Serverデータベースエンジンは、ビット列の格納を最適化します。テーブルに8以下のビット列がある場合、列は1バイトとして格納されます。 9から最大16ビットの列がある場合、列は2バイトとして格納されます。

文字列値TRUEとFALSEはビット値に変換できます。TRUEは1に変換され、FALSEは0に変換されます。

ビットに変換すると、ゼロ以外の値はすべて1に変換されます。

参照

注:データ型がNOT NULLの場合のみ、値を1と0に保つことをお勧めします。

ビットの値は1、0、NULLです。これについては真理値表をご覧ください。したがって、それに応じて値を計画してください。 bitデータ型にNULL値を許可することで混乱を招く可能性があります。

enter image description here

参照

13
Somnath Muluk

BITフィールドを使うことができます

新しいテーブルを作成するには:

CREATE TABLE Tb_Table1
(
ID              INT,
BitColumn       BIT DEFAULT 1
)

既存のテーブルに列を追加する:

ALTER TABLE Tb_Table1 ADD BitColumn  BIT DEFAULT 1

レコードを挿入するには:

INSERT Tb_Table1 VALUES(11,0)
10
Sachith

bitは最も単純で、また最小のスペースを占めます。 "Y/N"と比べるとあまり冗長ではありませんが、問題ありません。

9
o.k.w

bitが最も適したオプションです。そうでなければ、私はかつてその目的のためにintを使いました。 true1およびfalse0

5
Baqer Naqvi

任意のバージョンのSQL Server Management Studioで、データ型としてBITを使用します

TrueまたはFalse Valueオプションが提供されます。 1または0のみを使用する場合は、次のメソッドを使用できます。

CREATE TABLE SampleBit(
    bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)

ただし、BESTオプションとしてBITを厳密にアドバイスします。誰かの助けになることを願っています。

0
PatsonLeaner