繁体   English   中英

在SQL Server 2005 Express中查询日期时间

[英]Query a datetime in SQL Server 2005 Express

如何在Windows Server 2008 R2上安装的SQL Server 2005 Express中基于DateTime查询行?

我有一些代码,用于根据from和date值选择行。 它可以在Windows 7系统中运行。 但是,它在Windows Server 2008 R2上不起作用...任何帮助

this.filterreportTableAdapter.FillBy(this.cRdataset.filterreport_datatable, fromdate, todate);

我的SQL查询是

SELECT * 
FROM tablename 
WHERE DATE BETWEEN @fromdate and @todate

听起来日期/时间值作为字符串传递。 这总是一个坏主意,并且格式问题很多。 最好的方法很简单:使用正确键入的参数。 如果客户端和服务器都知道它是一个DateTime,则将它作为原始值而不是字符串进行传递-因此没有格式问题。

确保fromdatetodate在C#中的DateTime ,以及@fromdate@todatetablename.DATE在TSQL的datetime

请设置与Windows 7上相同的日期时间格式,例如:dd / MM / yyyy

似乎在传递日期参数时出现日期格式错误。 有两种解决方案:首先,您可以尝试使用在任何地方都可以使用的日期格式,即:YYYYMMDD ex:20120722。另一种解决方案是在sql查询中创建DateDiff。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM