数据库中的DOB,一年后我想增加年龄并更新到数据库中

时间:2012-05-16 06:31:22

标签: c# winforms sql-server-2008

我将出生日期存储在数据库中,一年后我想增加年龄并更新到数据库中。

2 个答案:

答案 0 :(得分:6)

存储出生日期。使年龄成为计算列:

CREATE TABLE [Table](
    /* Columns */
    [DateOfBirth] [date] NULL,
    [Age]  AS CASE
    WHEN DATEADD(year,-DATEDIFF(year,DateOfBirth,CURRENT_TIMESTAMP),CURRENT_TIMESTAMP) < DateOfBirth THEN
        DATEDIFF(year,DateOfBirth,CURRENT_TIMESTAMP) - 1
    ELSE
        DATEDIFF(year,DateOfBirth,CURRENT_TIMESTAMP)
    END,
    /* Constraints, etc */
)

这样你就不必自己做任何工作了。

答案 1 :(得分:1)

您可以将年龄作为计算值实施。通过这种方式,查询时的年龄始终是正确的(http://www.mssqltips.com/sqlservertip/1682/using-computed-columns-in-sql-server-with-persisted-values/)