Sql server SQL Server-从Varchar中的出生日期开始计算年龄

Sql server SQL Server-从Varchar中的出生日期开始计算年龄,sql-server,date,stored-procedures,Sql Server,Date,Stored Procedures,使用SQL Server 2008 R2 我有一个我朋友项目的数据库。他使用varchar来存储成员的出生日期,因为他在分析到目前为止的条目时出错。我想用程序代码显示年龄 存储在mm/dd/yyyy中的日期格式,其中今天的日期存储为2016年3月4日。我想使用DATEDIFF函数,但它不是varchar的好选项 Create procedure spCalculateAge @dob varchar(10) as Begin Select DATEDIFF(year,Convert(date,@

使用SQL Server 2008 R2

我有一个我朋友项目的数据库。他使用varchar来存储成员的出生日期,因为他在分析到目前为止的条目时出错。我想用程序代码显示年龄

存储在
mm/dd/yyyy
中的日期格式,其中今天的日期存储为2016年3月4日。我想使用DATEDIFF函数,但它不是varchar的好选项

Create procedure spCalculateAge
@dob varchar(10)
as
Begin
Select DATEDIFF(year,Convert(date,@dob),getdate()) as Age
End

我用了这个,它成功了。之前,它给出了转换错误,但打开和关闭SQL Server导致它工作。

您必须先将varchar转换为日期时间。是否收到任何错误。添加用于解析varchar数据集的查询良好读取: