尝试在日期范围内检索数据时出错

时间:2013-01-17 11:55:05

标签: sql-server-2005 visual-studio-2008

我正在尝试检索日期范围内的数据,但会收到以下错误

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

如何纠正此错误

1 个答案:

答案 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参数的解释和可能值