我有一个DATETIME列“EntryDate”,我将值存储为dd/MM/yyyy格式。 但是当我通过SQL获取记录时,我没有得到预期的结果。SQL Server中的dd/MM/yyyy
对于前:
我从日期23/10/2009 90个记录23/11/2009。我只得到5-10条记录。为什么是这样 ?
这里是我的查询:
SET DATEFORMAT DMY;
SELECT * FROM salesorderlist so
LEFT JOINT sites s ON s.id = so.siteid
WHERE so.entrydate between '23/10/2009' and '23/11/2009'
ORDER BY so.entryDate DESC
但是,当我把日期范围为23/10/2009 31/10/2009到我得到正确的结果,如果我给的日期范围从23/10/2009至01/11/2009我连一行都没有。
我缺少什么?
在数据库中,我将值存储为“31/10/2009”(dd/MM/yyyy)格式。
在此先感谢。
已经做了一个错误..
Entrydate是Varchar列。现在改成了Datetime.Thanks专家的帮助
我现在有一个更大的问题...我如何VARCHAR列转换为datetime列...如何更新表
当我尝试更改数据类型,我得到的错误: char数据类型转换为日期时间数据类型导致超出范围的日期时间值。 该声明已被终止。
我不想删除记录,因为有成千上万的记录。是否有任何方法可以转换? 谢谢
是什么类型的数据库so.entrydate? – pjp 2009-11-23 09:16:22