1

vb.net で使用している現在の sql クエリを使用して、datagridview に返されるデータを取得しています。選択したテーブルから返される必要な情報を取得するために、日時ピッカーの年、月、日と照合しています。私のクエリは、特定の日付をチェックするための case ステートメントの部分を除いて正常に機能します。このクエリを修正したり、別の方法を提案したりできる人はいますか?

"SELECT * FROM " & Me.SelectedTable.SelectedItem.ToString & " 
WHERE(Datepart(yyyy," & colName & ") BETWEEN '" & Me.DateTimePicker1.Value.Year & "' AND '" & Me.DateTimePicker2.Value.Year & "' 
AND Datepart(mm," & colName & ") BETWEEN '" & Me.DateTimePicker1.Value.Month & "' AND '" & Me.DateTimePicker2.Value.Month & "' 
AND Datepart(dd," & colName & ") <= " & Me.DateTimePicker1.Value.Day 
& " CASE WHEN Datepart(mm," & colName & ")=" & Me.DateTimePicker1.Value.Month & " 
THEN Datepart(dd," & colName & ") = " & Me.DateTimePicker1.Value.Day & " 
WHEN Datepart(mm," & colName & ")= " & Me.DateTimePicker2.Value.Month 
& " Datepart(dd," & colName & ")= " & Me.DateTimePicker2.Value.Day & " 
ELSE Datepart(dd," & colName & ") BETWEEN 1 AND 31 END)"
4

2 に答える 2