Sql server 2005 尝试检索日期范围内的数据时出错
我试图检索日期范围内的数据,但出现以下错误Sql server 2005 尝试检索日期范围内的数据时出错,sql-server-2005,visual-studio-2008,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 如何纠正此错误使用字符串表示日期时间值会导致这种情况 SE
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
如何纠正此错误使用字符串表示日期时间值会导致这种情况
SELECT * FROM tblCustomers WHERE date BETWEEN Convert(smalldatetime, '19/12/2012', 105) AND Convert(smalldatetime, '1/17/2013', 101)
GO
但是,我应该问你。为什么对同一查询使用两种不同的日期格式
有关最终101参数的解释和可能值,请尝试使用不会被区域设置混淆的日期格式。使用
yyyymmdd
在“20121219”和“20130117”之间
似乎连日期格式的问题都混淆了,第一个日期是dd/mm/yy,第二个是mm/dd/yy。101
在第一次转换中可能应该是103
。。。但第二个似乎相反。奇怪的是,我注意到这里有点混乱,2012年12月19日是dd/MM/yyyy,2013年1月17日是MM/dd/yyyy。