在 sql 中创建计算字段
Creating calculated fields in sql
这看起来很简陋,但我在网上找不到匹配的简明示例。
我有三个字段; m1
、m2
和 m3
。我需要创建一个列或字段,这是它们三个的平均值。计算字段的标题为 employment。以下代码是否足够?
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
你可以查看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
你们很亲近,这就叫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))
这看起来很简陋,但我在网上找不到匹配的简明示例。
我有三个字段; m1
、m2
和 m3
。我需要创建一个列或字段,这是它们三个的平均值。计算字段的标题为 employment。以下代码是否足够?
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
你可以查看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
你们很亲近,这就叫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))