3

この質問のタイトルをより具体的にする方法がわかりません。

ASP.NET MVC3 アプリケーションに取り組んでいます。そこでは、jQuery グリッドを使用してデータベースからのデータを表示し、いくつかのフィルターを使用しています。そのうちの 1 つは、ユーザーが日付で検索できるようにする必要があります。

私のデータベースでは、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

ちょっとレロンは、「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 に答える