在sql中创建计算字段

时间:2017-09-07 20:02:24

标签: sql-server average alter

这似乎很简陋,但我无法在网上找到匹配的简洁示例。

我有三个领域; m1m2m3。我需要创建一个列或字段,它们是三个的平均值。计算的字段将标题为就业。以下代码是否足够?

ALTER TABLE dbo.tablename ADD Employment AS Select ((m1+m2+m3)/3)

示例数据

m1   20    20    30
m2   15    17    25
m3   60    77    13

期望的结果。

Name        m1    m2    m3   Employment
Auto body    20    20    30     23
Auto Parts   15    17    25     19
Auto Sales   60    77    13     50

2 个答案:

答案 0 :(得分:6)

您可以查看Computed Columns

CREATE TABLE t1(
    col1 int,
    col2 int,
    col3 int,
    col4 as (col1*col2*col3)/3

)

insert into t1  values(1,2,3)

select * from t1

答案 1 :(得分:3)

你非常接近,它被称为Computed Column

https://technet.microsoft.com/en-us/library/ms191250(v=sql.105).aspx

ALTER TABLE dbo.tablename ADD Employment AS ((m1+m2+m3)/3)

<强>更新

如果要强制计算列的数据类型,可以执行以下操作

ALTER TABLE dbo.tablename ADD Employment AS CAST((m1+m2+m3)/3 AS Numeric (9,0))