2012-03-03 17 views
0

は、誰も私を助けることができる、SQL日時問題

は私が必要とする、私は2012年1月30日から2012年2月21日のみの日に一部のレコードを持っている参照して、SQLの日時機能といくつかの問題に直面していますこの2つの日付の間にデータを取得するには、2012年1月1日に開始日を、12/01/2012に終了日を指定すると、すべてのデータが正しく表示されますが、2012年1月30日に開始日として2012年2月21日、終了日として2012年1月30日と2012年2月21日に2つのレコードしか表示されません。他のレコードに何が起こったのですか? ....ありがとうございます。

+3

あなたは私たちにあなたのために失敗しているSQLを表示することができますか?そしておそらくデータ?あなたは誰でもあなたを助けることができるように十分な情報を与えていません。 –

+0

をSQL –

+0

で使用すると実際にいくつかのレコードが手動で編集されました。そのレコードでは、日付カラムの値に2012-01-30と指定され、2012-01-30 00:00:00:000その後、私のコーディングのレコードを追加すると、日付の列は2012-01-30 16:44:54.147として格納されます。.......私は問題が日付の後の時刻形式であると思います.... .. – shanish

答えて

0

あなたのテーブル構造によっては、いずれかを行うこともできます

select * from your_table 
where date_column between '2012-01-30' and '2012-02-12' 

または

select * from your_table 
where start_date >= '2012-01-30' 
and end_date <= '2012-02-12' 
+0

私のテーブルに3列あります。ItemName、LineTotal、CreatedDate、私はこのレコードを名前と日付でグループ化する必要があります。私は日付を賢明に記録する必要があるので、クエリを SELECT ASTERMount、CONVERT(varchar(10)、CreatedDate、103)AS CreatedDate FROM table_name WHERE CreatedDate BETWEEN '2012-01-30' AND '2012-02-21 ' GROUP BY ItemName、CONVERT(varchar(10)、Create dDate、103) このクエリを実行すると2つのレコードしか表示されませんが、実際にはこの日付内に10以上のレコードがあります。 – shanish