簡體   English   中英

SQL Server-在表中添加一列來計算使用期限

[英]SQL Server - Add a column to a table that calculates the age

我想實現一個查詢來向表中添加一個AGE列,該查詢將使用已經存在的日期列(mcsDate)計算每個記錄的壽命。

有人可以幫我嗎?

謝謝!

創建計算列

CREATE TABLE [dbo].[DateDemo]
(
    [MDate] [date] NULL,
    [age]  AS (datediff(day, [MDATE], getdate())) -- This is a computed column
);

如果要以人類計算出生日期的年份來計算年齡,則應以人類計算年齡的方式來計算。 真的不難。 這是確保leap年沒有錯誤的唯一方法。

CREATE TABLE DateTable (
    BirthDate DATE,
    Age AS YEAR(getdate()) - YEAR(BirthDate) - CASE 
        WHEN MONTH(BirthDate) > MONTH(getdate())
            OR (
                MONTH(BirthDate) = MONTH(getdate())
                AND DAY(BirthDate) > DAY(getdate())
                )
            THEN 1
        ELSE 0
        END
    );

如果您正在為國際程序編程,請注意,某些國家/地區使用東亞年齡估算

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM