Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
SQL文でのFormat関数について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10079#CommentId17310
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
河童
 (社会人)
投稿日時
2011/3/4 11:58:41
こんにちは。
魔界の仮面弁士さん、shuさん、
お返事ありがとうございます。
SQL Server 2005 Express という
無償版のデータベースを使用しています。
日付型の列に対して、
WHERE 日付 >= '2011/03/01' AND 日付 < '2011/04/01'
のように問い合わせを行った方が良いというアドバイスを元に
下記のように修正しました。
抽出条件は1日から月末までなので、
simeYMD(テキストボックスに入力されている日付)から
開始日と終了日を計算します。
開始日は、
simeYMDからその年月をMid関数で取得し「/01」を付け加えます。
終了日は、
開始日に1ケ月加えた後に1日引いてその月の月末を求めます。
'開始日
Dim strYMD As Date = DateTime.Parse(Mid(simeYMD, 1, 7) & "/01")
'終了日
Dim endYMD As Date = DateAdd(DateInterval.Day, -1, DateAdd(DateInterval.Month, 1, strYMD))
'SQL文のWHERE条件
strSql &= " S.日付 >='" & strYMD & "' AND "
strSql &= " S.日付 <='" & endYMD & "' "
この条件で1日から月末までのデータを取得することが出来ました。
後学のため教えて頂きたいことがあります。
>(実際には、日付データをSQLに埋め込まず、パラメータ化して問い合わせた方が良いですが)
パラメータ化して問い合せるとはどういうことですか?
もしかしてストアド プロシージャというものを作成して
開始日と終了日をパラメータとして渡すというものですか?
>> strSql &= " S.今回請求支払額,"
>ここの最後の『,』はいらないです。
ご指摘ありがとうございます。
コードを確認してみると、
投稿するときのタイプミスでした。