Qual seria a fórmula para calcular uma coluna de bits a partir de outras colunas de bits?
Por exemplo:
CREATE TABLE #Employee
(
[empNumb] [INT] identity(1,1) PRIMARY KEY,
[IsOk] [BIT] NOT NULL, -- This is computed from other three columns.
[HasValidHours] [BIT] NOT NULL,
[NoDemerits] [BIT] NOT NULL,
[NoAccidents] [BIT] NOT NULL
);
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_HasValidHours]
DEFAULT ((0)) FOR [HasValidHours];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoDemerits]
DEFAULT ((0)) FOR [NoDemerits];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoAccidents]
DEFAULT ((0)) FOR [NoAccidents];
IsOk
seria calculado a partir do e -ing de HasValidHours
, NoDemerits
e NoAccidents
.
Você quer dizer IsOk = 1 se todas as outras três colunas de bits = 1 senão IsOk = 0?
Se for assim: -
Consulte & (AND bit a bit) (Transact-SQL)
A expressão que você está procurando é (independentemente de você fazer uma coluna computada ou externa
UPDATE
):