SQL Server 2005:
次のビュー
SELECT CONVERT(VARCHAR(20), keyedtimestamp, 101) as KeyedDate
FROM TMSSTATFILE_STATS a
WHERE (CONVERT(VARCHAR(20), a.KeyedTimestamp, 101) BETWEEN '03/01/2011' And '03/31/2011')
ORDER BY KeyedDate
2011 年 3 月 2 日から 2011 年 3 月 31 日までのキー日付の結果が表示されます。
最初の日付を 03/00/2011 に変更した場合
SELECT CONVERT(VARCHAR(20), keyedtimestamp, 101) as KeyedDate
FROM TMSSTATFILE_STATS a
WHERE (CONVERT(VARCHAR(20), a.KeyedTimestamp, 101) BETWEEN '03/00/2011' And '03/31/2011')
ORDER BY KeyedDate
2011 年 3 月 1 日から 2011 年 3 月 31 日までの日付のデータが得られるようになりました。
KeyedTimestamp フィールドは DateTime であり、これらのレコードに関連付けられた時刻があります。2011 年 3 月 31 日のすべてのレコードが考慮されます。間に2番目の日付の最大時間を指定することで代わりにこれを行うことができることを知っているので、代わりのwhere句を探しているのではなく、最初のレコードを組み込んでいるにもかかわらず、最初のレコードを無視している理由を理解しています31日から。
まるで 2011 年 3 月 1 日 23:59:59 をチェックしているかのように、時間ではなく日付だけを気にするこの種のチェックをなくしたいと思っていました。