T-SQLでバイナリ値の最大数を決定する簡単な方法(すべてをプログラミングせずに)があるかどうか疑問に思っています。
列には、選択された日 ( 1 = sunday, 2 = monday, .. 7 = saturday
) をビットごとに格納します。
私の翻訳テーブル:
-- day of week
-- 1 == 1 -> POWER(2,0) -> sunday
-- 2 == 2 -> POWER(2,1) -> monday
-- 3 == 4 -> POWER(2,2)
-- 4 == 8 -> POWER(2,3)
-- 5 == 16 -> POWER(2,4)
-- 6 == 32 -> POWER(2,5)
-- 7 == 64 -> POWER(2,6) -> saturday
たとえば、日曜日と土曜日の例を選択すると、バイナリ値は 65 になります。
どうすればそれを選択できT-SQL
ます65
か7
??
編集
2 つの列を持つ 2 つのレコードがあるとします。
ID | SelectedDays
------|--------------
1 | 65
2 | 3
したがって、ID 1
7 が返されます。これは、選択された土曜日が選択され、ID 2
月曜日に返されるためです。