Добавить столбец на основе расчета из других столбцов в существующую таблицу в SQL Server - PullRequest
1 голос
/ 10 марта 2020

Я знаю, как добавить столбец в таблицу с помощью следующего кода

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?

1 Ответ

1 голос
/ 10 марта 2020

Почему бы вам не создать представление для этой таблицы и добавить это выражение в виде столбца к вашему представлению?

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;
...