Tim*_*cox 3 sql-server average alter
这看起来很简陋但我无法在网上找到匹配的简洁示例.
我有三个领域; m1,m2和m3.我需要创建一个列或字段,它们是三个的平均值.计算的字段将标题为就业.以下代码是否足够?
ALTER TABLE dbo.tablename ADD Employment AS Select ((m1+m2+m3)/3)
Run Code Online (Sandbox Code Playgroud)
样本数据
m1 20 20 30
m2 15 17 25
m3 60 77 13
Run Code Online (Sandbox Code Playgroud)
期望的结果.
Name m1 m2 m3 Employment
Auto body 20 20 30 23
Auto Parts 15 17 25 19
Auto Sales 60 77 13 50
Run Code Online (Sandbox Code Playgroud)
您可以检查计算列
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
Run Code Online (Sandbox Code Playgroud)
你很亲密,这叫做 Computed Column
https://technet.microsoft.com/zh-CN/library/ms191250(v=sql.105).aspx
ALTER TABLE dbo.tablename ADD Employment AS ((m1+m2+m3)/3)
Run Code Online (Sandbox Code Playgroud)
更新:
如果您想强制计算列的数据类型,则可以执行以下操作
ALTER TABLE dbo.tablename ADD Employment AS CAST((m1+m2+m3)/3 AS Numeric (9,0))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |