【发布时间】:2013-09-03 09:27:01
【问题描述】:
我想计算从一个人出生的那一年到今天的年数。我有要使用的组件,但不知道如何使用它们。
SELECT COLUMN1, COLUMN2, DATEPART(YY,GETDATE()),
CONVERT(INT,+19)))LEFT(TABLE.COLUMN,2)
我想在生日前使用 +19 显示它。数据库中的示例出生年份显示为 YY 而不是 YYYY。这就是为什么我要添加 19,因此 SQL 将计算从 19YY 到 2013 的年份。
【问题讨论】:
-
看起来可能重复。请看 [这里][1] [1]:stackoverflow.com/questions/1572110/…
-
我不太明白你在问什么。是否要将存储在字符串中的 YY 的出生年份显示为 YYYY?还是要计算从出生年份到今天的年数?
-
是的!正是@ThorstenKettner
-
由于缺少日/月,并且 1999 年 12 月 31 日之后的生日将不起作用,如评论
Select DatePart(YY,GETDATE()) - Cast('19' + LEFT(Col,2) as int) as PossibleAge -
@andrejcurcic - 用“是”回答“非此即彼”的问题并不能澄清任何事情。
标签: sql sql-server sql-server-2008 tsql