1

01/01/2013SQL Server CE に時刻を追加せずに日付 (例: ) を datetime として格納する方法があるかどうか疑問に思っていました (例: 12:00:00 AM)。

いつでも文字列として保存できます"01/01/2013"が、データベースのクエリで日付を比較できるようにしたいです。

日付部分だけを保存している限り、datetime フィールドのすべての時間は同じ値 (つまり12:00:00 AM) になるため、それらを比較しても問題はなく、時間部分は常に無視できますが、この不要なデータをテーブルのすべてのエントリに追加するのはばかげているようです。

SQLクエリで日付を比較できるように、datetimeの日付部分のみをdatetimeとして保存する方法はありますか?または、このオーバーヘッドに耐えて先に進む必要がありますか?

サイドノート:

最後の 30 分間、Google と SO を検索して、既に出ていると確信していた回答を探しましたが、驚いたことに、この問題については何も見つかりませんでした。


アップデート:

私がたどり着いた結論は、日時形式の時間を受け入れるだけ12:00:00 AMで、INSERT ステートメント中に日付部分を追加するだけで常にデフォルトにするということです (例: 01/01/2013)。時間の部分が常に同じである限り、日付は簡単に比較でき、画面表示用に文字列に変換するときに日付をトリミングするだけです。これが、このシナリオを処理する最も簡単な方法になると思います。結局、私は SQL のクエリ機能を利用することにしました。そうでなければ、そもそもデータベースの代わりに XML を使用していたかもしれません。

4

2 に答える 2

1

いいえ、時間要素を取り除くことはできません。これは、SQL サーバーによって定義されたデータ型の一部です。JQueryを使用して日付フォーマッタプラグインで再フォーマットする時間がなくても日付を表示できることがわかるまで、私はそれに非常に悩まされていました。

https://github.com/phstc/jquery-dateFormat

幸運を!

于 2013-05-15T22:45:24.677 に答える