6

私は学校のために小さなプロジェクトをしなければなりません。データベーステーブルに曜日を保存する最良の方法は何ですか?

たとえば、データ バックアップの曜日 — 次のような列を使用する必要があります。

backupDays varchar(50)
1,5       >> monday + friday
2,3,4     >>tuesday + wednesday + thursday

asp.net MVC プログラムでこのテーブルを使用する必要があり、MSSQL データベースを使用しています。

4

2 に答える 2

11

この場合 (1 つのフィールドに 7 つのブール値)、わずか 7 ビット長のバイナリ セットを取得します。したがって、MS SQL - tinyintで 1 バイト長のフィールド型を使用できます。そして、 ビットごとの演算子を使用してそれを操作します。

例(バイナリ):

00000001 -日曜日

00000011 - 月曜日と日曜日

00000101 - 火曜日と日曜日

00000111 - 月曜日、火曜日、日曜日

詳細と例は次のとおりです。

http://sqlfool.com/2009/02/bitwise-operations/

http://www.mssqltips.com/...

于 2012-11-28T09:17:39.757 に答える
0

私の意見では、曜日をフィールドに格納する最良の方法は、数値 (0..6) として格納することですしかし、フィールドに1日以上保存したいようです。明らかに、1 つのフィールドに複数の値を格納することはできません。別のテーブルを使用する必要があります。

create table Course
(
  CourseId int not null primary key,
  Name nvarchar(100) not null
);

create table CourseDayOfWeek
(
  CourseDayOfWeek int not null primary key,
  CourseId int not null references Course (CourseId),
  Day int not null
);

ただし、1 つのフィールドに複数の値を格納する必要がある場合 (新しいテーブルを作成する余裕がない場合) は、xml フィールドまたは文字列フィールドを使用できます。次に、フィールドを手動で解析する必要があります。

于 2012-11-28T07:56:29.820 に答える