Sql 将年龄列更新一年
如何将表中每行的年龄列仅更新一年, 那么如何得到该列的年份并将其增加1 我的数据如下所示:Sql 将年龄列更新一年,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,如何将表中每行的年龄列仅更新一年, 那么如何得到该列的年份并将其增加1 我的数据如下所示: ID name age 1 sarah 1992-05-26 00:00:00 2 suzan 1991-05-20 00:00:00 对于您的具体问题,您可以在每个日期上加上一年,方法简单: 但是,我会将出生日期存储在数据库中,并在业务层或需要显示的任何位置计算年龄 作为参考,如果您确实存储了出生日期,则可以通过使用函数计算出生日期和今天日期之间的整年数的简单
ID name age
1 sarah 1992-05-26 00:00:00
2 suzan 1991-05-20 00:00:00
对于您的具体问题,您可以在每个日期上加上一年,方法简单: 但是,我会将出生日期存储在数据库中,并在业务层或需要显示的任何位置计算年龄 作为参考,如果您确实存储了出生日期,则可以通过使用函数计算出生日期和今天日期之间的整年数的简单查询来计算年龄:
SELECT DT.Name
, DT.DateOfBirth
, DATEDIFF(year, DT.DateOfBirth, GETDATE()) As Age
FROM DataTable DT
您的查询应如下所示:
Update yourTable set age = DATEADD(yy,1,age)
这将增加1年,看起来像是一个日期,而不是一个年龄。此外,最好不要存储年龄,因为您必须每天运行更新以确保年龄字段保持正确。当您需要使用DATEDIFF函数查看时,最好计算年龄。
Update yourTable set age = DATEADD(yy,1,age)