The documentation states
freq_interval is one or more of the following:
1 = Sunday
2 = Monday
4 = Tuesday
8 = Wednesday
16 = Thursday
32 = Friday
64 = Saturday
These values are all powers of 2.
When you select multiple days simply add the distinct codes.
2 + 4 + 8 + 16 + 32 = 62
or alternatively use the bitwise or operator to combine them.
2 | 4 | 8 | 16 | 32
(my recommendation would be to use |
in code and +
if adding them up in your head! - |
is the "correct" thing to use and won't behave incorrectly if you have duplicate values in the list)
If you are trying to do the reverse operation you need bitwise and
DECLARE @Sunday TINYINT = 1,
@Monday TINYINT = 2,
@Tuesday TINYINT = 4,
@Wednesday TINYINT = 8,
@Thursday TINYINT = 16,
@Friday TINYINT = 32,
@Saturday TINYINT = 64;
DECLARE @TestValue TINYINT = 62;
SELECT CASE WHEN @TestValue & @Sunday = @Sunday THEN 'Y' ELSE 'N' END AS Sunday,
CASE WHEN @TestValue & @Monday = @Monday THEN 'Y' ELSE 'N' END AS Monday,
CASE WHEN @TestValue & @Tuesday = @Tuesday THEN 'Y' ELSE 'N' END AS Tuesday,
CASE WHEN @TestValue & @Wednesday = @Wednesday THEN 'Y' ELSE 'N' END AS Wednesday,
CASE WHEN @TestValue & @Thursday = @Thursday THEN 'Y' ELSE 'N' END AS Thursday,
CASE WHEN @TestValue & @Friday = @Friday THEN 'Y' ELSE 'N' END AS Friday,
CASE WHEN @TestValue & @Saturday = @Saturday THEN 'Y' ELSE 'N' END AS Saturday