我正在尝试检索日期范围内的数据,但会收到以下错误
The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value
这是基本的SQL查询
SELECT * FROM tblCustomers WHERE date BETWEEN '19/12/2012' AND '1/17/2013'
GO
如何纠正此错误
答案 0 :(得分:1)
使用字符串表示日期时间值会导致这种情况
SELECT * FROM tblCustomers WHERE date BETWEEN Convert(smalldatetime, '19/12/2012', 105) AND Convert(smalldatetime, '1/17/2013', 101)
GO
但是,我应该问你。为什么对同一个查询使用两种不同的日期格式?
See the Convert function on T-SQL here获取最终101参数的解释和可能值