C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 日付範囲検索について


(過去ログ 94 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■56266 / inTopicNo.1)  日付範囲検索について
  
□投稿者/ ak47 (12回)-(2011/01/07(Fri) 10:46:12)

分類:[.NET 全般] 

DBはMSSQL 
    2011/01/01〜2011/01/06までの範囲検索をしたいですが
    検索条件が 2011/01/01の00時00分〜2011/01/06の23時59分まで精密検索です。
    SQL分でも、C#ソースでも構いませんのでよろしく、お願いいたします。


引用返信 編集キー/
■56267 / inTopicNo.2)  Re[1]: 日付範囲検索について
□投稿者/ Blue (35回)-(2011/01/07(Fri) 10:51:55)
何が
>2011/01/01〜2011/01/06
なんでしょうか?

SQLのWHERE条件で

対象の列 BETWEEN 開始日 AND 終了日

と指定すればいいだけではだめ?
引用返信 編集キー/
■56268 / inTopicNo.3)  Re[1]: 日付範囲検索について
□投稿者/ マサヤ (204回)-(2011/01/07(Fri) 10:53:06)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8636&forum=7
http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2006091302.htm
こんな感じでできないでしょうか?
引用返信 編集キー/
■56269 / inTopicNo.4)  Re[2]: 日付範囲検索について
□投稿者/ ak47 (13回)-(2011/01/07(Fri) 11:01:17)
No56268 (マサヤ さん) に返信
> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8636&forum=7
> http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2006091302.htm
> こんな感じでできないでしょうか?

すみません。よんでみましたが、わかりません
でした。
引用返信 編集キー/
■56271 / inTopicNo.5)  Re[2]: 日付範囲検索について
□投稿者/ 魔界の仮面弁士 (2014回)-(2011/01/07(Fri) 11:18:38)
No56267 (Blue さん) に返信
> SQLのWHERE条件で
> 対象の列 BETWEEN 開始日 AND 終了日
> と指定すればいいだけではだめ?
今回は時刻部の問題があるようなので、正子(時刻部が00:00:00な日付値)を使うなら、
 WHERE 対象列 >= 開始日 AND 対象列 < 終了日の翌日
の方が良いかも知れません。

>> 検索条件が 2011/01/01の00時00分〜2011/01/06の23時59分まで精密検索です。
『精密検索』の意味が分かりませんが、23時59分12秒を除外したいという意味でしょうか?
であれば、上記の「対象列 < 終了日の翌日」では駄目ですね。
引用返信 編集キー/
■56272 / inTopicNo.6)  Re[3]: 日付範囲検索について
□投稿者/ ak47 (14回)-(2011/01/07(Fri) 11:39:22)
No56271 (魔界の仮面弁士 さん) に返信
> ■No56267 (Blue さん) に返信
>>SQLのWHERE条件で
>>対象の列 BETWEEN 開始日 AND 終了日
>>と指定すればいいだけではだめ?
> 今回は時刻部の問題があるようなので、正子(時刻部が00:00:00な日付値)を使うなら、
>  WHERE 対象列 >= 開始日 AND 対象列 < 終了日の翌日
> の方が良いかも知れません。
>
> >> 検索条件が 2011/01/01の00時00分〜2011/01/06の23時59分まで精密検索です。
> 『精密検索』の意味が分かりませんが、23時59分12秒を除外したいという意味でしょうか?
> であれば、上記の「対象列 < 終了日の翌日」では駄目ですね。

 自分も最初WHERE 対象列 >= 開始日 AND 対象列 < 終了日の翌日にしましたが、DBには秒もあるからためでした。
 23時59分までみたいです。秒までみないのでやりかたよくわかりません。
 よろしく、お願いいたします。



 

引用返信 編集キー/
■56273 / inTopicNo.7)  Re[4]: 日付範囲検索について
□投稿者/ Blue (36回)-(2011/01/07(Fri) 11:48:49)
>自分も最初WHERE 対象列 >= 開始日 AND 対象列 < 終了日の翌日にしましたが、DBには秒もあるからためでした。
ため?

< を使えばちゃんと判定できるはずですが、何をもってダメだと判断したのでしょうか?
引用返信 編集キー/
■56274 / inTopicNo.8)  Re[4]: 日付範囲検索について
□投稿者/ shu (345回)-(2011/01/07(Fri) 11:52:26)
No56272 (ak47 さん) に返信

>  23時59分までみたいです。秒までみないのでやりかたよくわかりません。
>  よろしく、お願いいたします。
23:59:01〜23:59:59はどこへいってしまうのでしょうか?次の日の検索には入ってきますか?

引用返信 編集キー/
■56275 / inTopicNo.9)  Re[1]: 日付範囲検索について
□投稿者/ Mira (16回)-(2011/01/07(Fri) 13:01:04)
1月6日の23時59分を含める場合は
[列名] BETWEEN '2011/01/01 00:00:00' AND '2011/01/06 23:59:00'
[列名]>='2011/01/01 00:00:00' AND [列名]<='2011/01/06 23:59:00'
含めない場合は
[列名]>='2011/01/01 00:00:00' AND [列名]<'2011/01/06 23:59:00'

時刻の指定はCONVERTしたほうがいいかもしれません,しなくてもいいかもしれません

[列名]>=CONVERT(DATETIME, '2011-01-01 00:00:00', 102)
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -