我将出生日期存储在数据库中,一年后我想增加年龄并更新到数据库中。
问问题
217 次
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 回答