/ / SQL Serverのシステムスケジュール間隔はどのように計算されますか? -sql、sql-server

SQL Serverのシステムスケジュール間隔はどのように計算されますか? -sql、sql-server

この表: sysschedules

もし freq_type は8(毎週)です freq_interval Su、M、T、W、Th、F、Sの場合は1,2,4,8,16,32,64です。

でもいつ freq_type 32(月間相対)の場合 freq_interval Su、M、T、W、Th、F、S、平日、週末の場合は1,2,3,4,5,6,7,8,9,10です。

どうしてこれなの?クエリの複雑さを軽減するために、何らかの計算が行われていますか?

もしそうなら、どのように? (私が無知に聞こえるなら、繰り返し発生するイベントシステムを構築することは私の脳を溶かしています)

回答:

回答№1は6

もし freq_type が8の場合、ジョブはで発生する可能性があります 1つ以上 日-したがって、複数の日を表す方法が必要です。 freq_interval カラム。これは、毎日2の累乗の値を割り当てることによって行われるため、複数の値を明確に加算できます。例えば。月曜日、水曜日、金曜日に発生する何かの場合、値は2 + 8 + 32 = 42になります(質問の曜日に間違った値が割り当てられています)

もし freq_type が32の場合、選択できるオプションは1つだけです- 1 曜日、または日、平日、週末。複数の値があるので できない 組み合わせると、より単純な表現を使用できます。