[英]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.