0

良い一日!変数を使用して日付範囲内の文字列の日付をフィルタリングすることに問題があります。うまくいかなかった私のサンプルクエリは次のとおりです。

Select * from table_name where datee >= '" & result & "' and datee1 <= '" & result1 & "';

このコードは、同じ日付、2012-12-31 および 2012-12-31 を表示します。日付範囲のコードは次のとおりです。

Dim datee, datee1, result, result1 as string
Dim dateTime As Date
Dim dTime As Date
dateTime = Date.Parse(datee)
dTime = Date.Parse(datee1)
result = dateTime.ToString("yyyy-MM-dd")
result1 = dTime.ToString("yyyy-MM-dd")
4

1 に答える 1

0

これを試してください: (変数が適切な日付形式と値を保持しており、データベース文字列の日付形式が であると仮定しますYYYY-MM-DD)

Select * from table_name where Str_to_Date(datee,'%Y-%m-%d') >= 
'" & result & "' and Str_to_Date(datee1,'%Y-%m-%d') <= '" & result1 & "'
;

12-01 から 12-31 は 12 月をカバーするため、以下を試すことができます。

Select * from table_name where Month(Str_to_Date(datee,'%Y-%m-%d')) = 12
;

したがって、

Select * from table_name where 
Month(Str_to_Date(datee,'%Y-%m-%d')) = " & Month(result1) & "
;

monthサンプル デモ テーブルの関数と文字列の日付形式を使用したクエリについて、デモを注意深く確認してください。

于 2013-01-25T04:07:19.803 に答える