アクセスデータベースから変換するとき、または一般にyes/noブール値フィールドを作成するためのベストプラクティスは何ですか?
同等のものはビットフィールドです。
SQLでは、0と1を使用してビットフィールドを設定します(Accessのyes/noフィールドと同じ)。 Management Studioでは、(少なくとも最近のバージョンでは)false/true値として表示されます。
ASP.NETを介してデータベースにアクセスすると、フィールドはブール値として公開されます。
BIT
データ型は通常、ブール値(falseの場合は0、trueの場合は1)を格納するために使用されます。
bit
カラム型を使うことができます。
データ型bit
を使用できます
0より大きい挿入値は '1'として格納されます。
0より小さい挿入された値は '1'として格納されます
「0」として挿入された値は「0」として格納されます
これはMS SQL Server 2012 Expressにも当てはまります。
BIT
フィールドを使うことができます。
既存のテーブルにBIT列を追加する場合、SQLコマンドは次のようになります。
ALTER TABLE table_name ADD yes_no BIT
新しいテーブルを作成したい場合は、CREATE TABLE table_name (yes_no BIT)
を実行できます。
テーブル作成中の使用例
[ColumnName] BIT NULL DEFAULT 0
ビットの使用を言う答えはすでにあります。これらの答えにもっと追加します。
ブール値を表すには 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値を許可することで混乱を招く可能性があります。
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)
bit
は最も単純で、また最小のスペースを占めます。 "Y/N"と比べるとあまり冗長ではありませんが、問題ありません。
bit
が最も適したオプションです。そうでなければ、私はかつてその目的のためにint
を使いました。 true
の1
およびfalse
の0
。
任意のバージョンの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
を厳密にアドバイスします。誰かの助けになることを願っています。