0

たとえば、私は持っています:

  1. 開始日 (1列)
  2. 終了日 (1列)
  3. 平日:月、火、水、木、金、土、太陽(1列)

上記のデータをデータベースの3フィールドに保存できるように、週を定義するにはどうすればよいですか?

4

1 に答える 1

1

処理の観点から、これらの3つのフィールドを単一のセルに格納することはお勧めしません。テーブルへの書き込みおよびテーブルからの読み取り中にデータをエンコードおよびデコードするには、不要なオーバーヘッドが発生する必要があります。また、追加のデータ型変換を実行する必要があります。

月曜日、火曜日、木曜日の場合、:、、ここで:124のようなものを試すことができます。しかし、上で議論したように、それはそれについて行く正しい方法ではありません。

理想的には、アイテムごとに3つの列があり、平日をさまざまな形式で保存します。

  1. <weekday_list_to_run_the _scheduled_tasks>Monday, Tuesday and Thursday:としてエンコードする場所124。ほとんどの処理が必要です。
  2. 古き良きAND-ing:として
    保存するとします。次に、7回のAND演算を通じて、スケジュールを実行する日を見つけます。<weekday_list_to_run_the _scheduled_tasks> = Monday-X-X-Thursday-Fri-X-Sunday1001101

例えば。

IF (<weekday_list_to_run_the _scheduled_tasks> AND 1000000) == 1 THEN 
     //Monday is set. 
END IF
于 2012-12-05T04:41:15.137 に答える