在同一个表中创建一个包含数据的列是SQL Server中同一个表中其他列的结果

时间:2017-09-29 03:14:47

标签: sql-server

这是我需要创建一个包含以下列的表的SALARY表:

    SALARY (ID, EMPID, HSL, BASICSAL, WORKDAY, ACTUALSAL)

ACTUALSAL的计算是

ACTUALSAL = (HSL * BASICSAL) / 48 * WORKDAY

有没有办法在SQL Server中创建此列?

3 个答案:

答案 0 :(得分:1)

此查询将执行 -

Alter Table TableName
Add ACTUALSAL As ((HSL * BASICSAL) / 48 * WORKDAY);

答案 1 :(得分:0)

创建一个名为computed column

SALARY
alter table SALARY add ACTUALSAL as (HSL*BASICSAL)/48*WORKDAY PERSISTED

计算列中PERSISTED的重要性可以找到here

答案 2 :(得分:0)

将实际工资添加为计算列。您可以根据需要更改列类型。

CREATE TABLE SALARY
(
ID INT,
EMPID INT,
HSL INT,
BASICSAL MONEY,
WORKDAY INT,
ActualSAL AS (HSL*BASICSAL)/48*WORKDAY
)