-5

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

4

2 回答 2

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 */
)

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

于 2012-05-16T06:36:53.123 回答
1

您可以将年龄实现为计算值。这样在查询时年龄总是正确的(http://www.mssqltips.com/sqlservertip/1682/using-computed-columns-in-sql-server-with-persisted-values/)

于 2012-05-16T06:39:07.373 回答