【发布时间】:2013-06-17 12:34:48
【问题描述】:
我正在编写如下查询
SELECT DATEDIFF(year,Clmn_Dob,getdate()) AS DiffDate
FROM tblABCD
其中Clmn_Dob 是NVARCHAR 列。我想根据出生日期找到年龄。但不是这个,我得到一个错误
将表达式转换为数据类型日期时间的算术溢出错误
我的字符串格式是dd/MM/yyyy 和getdate() 格式是MM/dd/yyyy。
我没有得到任何解决方案
【问题讨论】:
-
Bad habits to kick : mis-handling date / range queries - 你应该不将日期存储为字符串 - 你只是在自找麻烦。使用
DATETIME数据类型!这样您就可以在列上使用日期函数。 -
我实际上使用的是日期时间数据类型。但在这种情况下,我想要这样。
标签: sql-server-2005 datetime datediff nvarchar