В MS SQL Server можно определять поля типа бит - с возможными значениями 0 и 1. Обратите внимание что битовое поле не может быть NULL! При хранении реально на битовое поле занимает все равно байт, но если вы определите несколько битовых полей подряд в таблице то они все пойдут в один и тот же байт (естественно до 8 штук) и вы тем самым сэкономите место. Кстати MS SQL Server позволяет пользовать бинарные операции над байтами и можно хранить несколько бит в одном байте. Например, дни недели когда программа должна работать я храню в 1 байтовом поле, где с 1 по 7 бит обозначают дни недели. Вот как можно кверить такое поле:
| Код | SELECT MyField From MyTable WHERE RunDays & :_rundays > 0
|
В данном случае "_rundays" это параметер который в коде можно определить для сегоднешнего дня как (пример на Дельфи):
| Код | MyQuery.parameters.parambyname('_Rundays').value := 1 shl ((dayofweek(now))-1);
|
Таким образом эта квери вернет записи только для среды если мы ее запустим в среду.
|