如何创建派生属性?

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 ),