3

我不确定如何使这个问题的标题更具体。

我正在开发一个 ASP.NET MVC3 应用程序。在那里,我使用 jQuery 网格来显示数据库中的数据并且过滤器很少。其中之一应该允许用户按日期搜索。

在我的数据库中,该Date列如下所示:

日期栏

我将选定的日期传递到后端,在那里我解析日期字符串,如下所示:

 else if (property.PropertyType == typeof(DateTime))
                        {
                            DateTime value;
                            if (DateTime.TryParse(rule.Data, out value))
                            {
                                selector = ExpressionEquals<T>(rule.Field, value);
                            }
                        }

变量value看起来像这样:03/06/2013 12:24:30

问题是,在我的数据库中,该Date列的格式至少与我在 Management Studio 中看到的格式不同,而且事实上我不想如此特别地过滤(时间仅用于用户信息,但事实上我只需要日期)。

我需要使 jQuery 网格中的数据可用于我想要的搜索。事实上,来自网格的日期字符串看起来与解析后的值完全一样。换句话说,rule.Data值为"03/06/2013 12:24:30"

如何使用此数据仅按日期过滤数据但保持表列类型为datetime

4

3 回答 3

3

按“03/06/2013 00:00:00.000”和“03/06/2013 23:59:59.999”之间的范围过滤

于 2013-06-17T10:12:06.653 回答
1

嘿 Leron 使用这样的日期格式“03/06/2013 00:00:00”和“03/06/2013 23:59:59”可能会有所帮助

于 2013-06-17T10:16:53.277 回答
1

您可以使用转换功能 sql 服务器,例如

SELECT field1, field2, field3, datetimefield FROM table1 WHERE Con​​vert(date, datetimefield) = Convert(date, @datetimeparamter)

于 2013-06-17T10:29:54.687 回答