如何为表格中的每一行仅更新年龄列一年, 那么如何获得该列的年份并将其增加1。
我的数据如下:
ID name age
1 sarah 1992-05-26 00:00:00
2 suzan 1991-05-20 00:00:00
答案 0 :(得分:3)
对于您的具体问题,您可以使用简单的DateAdd
在每个日期添加一年UPDATE DataTable SET Age = DATEADD(year, 1, Age)
但是,我会将出生日期存储在数据库中,并计算业务层中的年龄或需要显示的位置。
作为参考,如果您确实存储了出生日期,那么可以使用DateDiff函数通过简单查询计算年龄,以计算出生日期和今天日期之间的整年数: / p>
SELECT DT.Name
, DT.DateOfBirth
, DATEDIFF(year, DT.DateOfBirth, GETDATE()) As Age
FROM DataTable DT
答案 1 :(得分:0)
您的查询应如下所示:
Update yourTable set age = DATEADD(yy,1,age)
这将使年增加1