vb2005からSQLserver使っててDateTimeの比較で詰まったのでメモ
まずはDateTime型にするところから。
vb2005で日時の文字列をDataTime型に変換するときは以下のように行う。
Dim dt As DateTimedt = DateTime.ParseExact("2012/05/02 19:04:30", "yyyy/MM/dd HH/mm/ss", Nothing) 'DateTime.ParseExact(変換したい日時, フォーマット, フォーマットと日時の対応表?)この時、文字列の書式とフォーマットの書式が一致していないと怒られる。
SQLで比較するときはすでにDateTime型なので
Dim query As String = ""query = query + " SELECT COUNT(*) " + vbCrLfquery = query + " FROM ZIEX " + vbCrLf query = query + " WHERE YMDT >= " + dt + " " + vbCrLf
などとする。
dtがString型のままの場合は以下のようにシングルクォーテーションで囲まなければならない。
Dim query As String = ""query = query + " SELECT COUNT(*) " + vbCrLfquery = query + " FROM EAGLE " + vbCrLf query = query + " WHERE YMDT >= '" + dt + "' " + vbCrLf
0 件のコメント:
コメントを投稿