基于其他位列的计算列位

Ωme*_*Man 1 sql-server sql-server-2012 table

从其他位列计算位列的公式是什么?

例如:

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];
Run Code Online (Sandbox Code Playgroud)

IsOk将根据,和的-ing计算。HasValidHoursNoDemeritsNoAccidents

And*_*nes 6

你的意思是 IsOk = 1 如果其他三位列都 = 1 否则 IsOk = 0?

如果是这样的话: -

CREATE TABLE #Employee
(
[empNumb]       [INT] identity(1,1) PRIMARY KEY,
[IsOk]          AS [HasValidHours] & [NoDemerits] & [NoAccidents],
[HasValidHours] [BIT] NOT NULL,
[NoDemerits]    [BIT] NOT NULL,
[NoAccidents]   [BIT] NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

请参阅&(按位与)(Transact-SQL)