如何创建派生属性?
How to create derived attribute?
我需要创建一个派生属性 Age,它根据 Datebought 属性计算元组的年龄。我发现它可以用视图制作,但我不知道把视图放在哪里。
CREATE TABLE Kids_Bike(
BikeId ID,
BrandName VARCHAR(max),
ModelName VARCHAR(max),
DateBought DATE,
/*??????????????????????*/
Age (SELECT datediff(day, DateBought , GETdate()) / 365.2425 ) DECIMAL,
Color VARCHAR(max),
StationId ID,
TrainingWheels BIT,
PRIMARY KEY (BikeId),
FOREIGN KEY (StationId) REFERENCES RentingStation(StationID)
);
您将视图置于之外 table:
create view v_kids_bike as
select kb.*, extract(day from (current_date - date_bought)) / 365.2425 as age
from kids_bike;
如果你正好在使用SQL服务器,你可以在createtable中定义计算列为:
Age as (SELECT datediff(day, DateBought, GETdate()) / 365.2425 ),
我需要创建一个派生属性 Age,它根据 Datebought 属性计算元组的年龄。我发现它可以用视图制作,但我不知道把视图放在哪里。
CREATE TABLE Kids_Bike(
BikeId ID,
BrandName VARCHAR(max),
ModelName VARCHAR(max),
DateBought DATE,
/*??????????????????????*/
Age (SELECT datediff(day, DateBought , GETdate()) / 365.2425 ) DECIMAL,
Color VARCHAR(max),
StationId ID,
TrainingWheels BIT,
PRIMARY KEY (BikeId),
FOREIGN KEY (StationId) REFERENCES RentingStation(StationID)
);
您将视图置于之外 table:
create view v_kids_bike as
select kb.*, extract(day from (current_date - date_bought)) / 365.2425 as age
from kids_bike;
如果你正好在使用SQL服务器,你可以在createtable中定义计算列为:
Age as (SELECT datediff(day, DateBought, GETdate()) / 365.2425 ),