繁体   English   中英

将基于其他列的计算的列添加到 SQL Server 中的现有表

[英]Add a column based on calculation from other columns to an existing table in SQL Server

我知道如何通过以下代码在表中添加一列

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES

我的问题是如何适应我想要成为表格中新 AGE 列的内容,该列是根据我得到的出生日期计算的,如下所示:

to_number((CURRENT_DATE()-to_date(date_of_birth,'dd/mm/yyyy'))/365)

这在SQL如何工作的?

你为什么不为这个表创建一个视图,并将这个表达式作为列添加到你的视图中?

create table friends (id number, name varchar, date_of_birth varchar);

insert into friends values ( 1, 'Gokhan', '01/01/1980');

create view friends_v as select id, name, date_of_birth, to_number((CURRENT_DATE()-to_date(date_of_birth,'dd/mm/yyyy'))/365) as age from friends;

select * from friends_v;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM