我在SQL Server 2005中使用年份无法找到年龄?

时间:2013-06-17 12:34:48

标签: sql-server-2005 datetime datediff nvarchar

我正在编写如下查询

SELECT DATEDIFF(year,Clmn_Dob,getdate()) AS DiffDate 
FROM tblABCD

其中Clmn_DobNVARCHAR列。我想根据出生日期找到年龄。但不是这样,我得到一个错误

  

将表达式转换为数据类型datetime的算术溢出错误

我的字符串格式为dd/MM/yyyygetdate()格式为MM/dd/yyyy

我没有得到任何解决方案

1 个答案:

答案 0 :(得分:0)

您可以使用CONVERT功能:

SELECT
DATEDIFF(year,CONVERT(datetime, Clmn_Dob, 103),getdate()),
FROM tblABCD

在这里doc: http://msdn.microsoft.com/en-us/library/ms187928.aspx