Я столкнулся с ментальным контрольным блоком относительно того, как определенное целочисленное поле хранит данные.Несколько дней недели, хранящихся в одном поле
В частности, имеется столбец с целыми числами от 1 до 127; каждое целое число представляет собой комбинацию разных дней недели. Например: понедельник = 2^0 или 1, вторник = 2^2 или 2, среда = 2^3 или 8; с возможностью добавления, понедельник + вторник = 3.
Я смог частично извлечь значения даты, используя пример, найденный here. Однако этот конкретный пример не работает, когда два дня объединяются (например, понедельник + вторник = 3). Может кто-то указать мне верное направление?
FYI, я использую SQL Server 2008 R2. Мои извинения, если это было опубликовано раньше, я взглянул, но не смог найти никаких других сообщений.
В этой колонке используется битное поле или растровое изображение, где каждый бит в значении представляет день. Это правильное направление. – Amit
Вы должны спросить «дизайнеров» этой системы, почему они выбрали этот способ (и напоминают им, что это не 70-е годы). –
@AaronBertrand Я ожидаю, что сообщение в блоге «Битмакс считается вредным». –