1

はいまたはいいえの 2 つの値を持つことができる Isdeleted の新しい列を追加したいので、どのデータ型を使用するのが最適ですか:-

  1. char(1) を使用して、Y または N の 2 つの値を格納します。

  2. 少し。1 または 0 を格納します。次に、アプリケーション レベルで、1 ははいを意味し、0 はいいえを意味すると言うことができます。

  3. varchar(3)。アプリケーション レベルで表示を処理する必要なく、データベースに Yes または No を格納します。

どの dataTpe を使用するか、使用するストレージ (ビットの場合に最適) とシンプル (char(3) を使用する場合) のバランスをとる方法について混乱しています。

よろしくお願いします

編集

ビットを試してみましたが、Sql サーバー データベース内に 1 または 0 を手動で挿入すると、次のエラーが発生しました:-セルの値が無効です (行 42、列 17)。このセルの変更された値は有効であると認識されませんでした。.Net Framework データ型: ブール エラー メッセージ: 文字列は有効なブール値として認識されませんでした。""

4

3 に答える 3

4

値が 1 と 0 に制限されているため、最良の選択は (2) (フィールドも null 非許容である必要があります) です。通常、表示の問題はアプリケーションでのみ処理し、他のアプリケーションでは処理しません。

表示の問題をアプリケーション レベルで処理する必要がある理由の簡単な例として、ある時点で UI を別の言語にローカライズし、はいといいえの異なる用語を使用する必要がある場合があります。

于 2013-06-27T22:38:37.090 に答える
2

ブール値を使用します。これにより、あなたのコードを読んでいる人なら誰でも (10 年後のあなたを含めて、驚くことでしょう!)、可能な値が 2 つしかないことが明らかになります。

于 2013-06-27T22:39:11.033 に答える
0

あなたの選択に依存します

Yes/No選択肢1として表示したい場合(コードで実際の表示を操作するだけです)

しかし、選択肢2は私が行くものです。

于 2013-06-27T22:41:02.120 に答える