0

これが私の試みです:

rs = statement.executeQuery("select * from geninfo where DeviceTag='" + deviceTag + "' and timestamp='date('"+fromYear + "-" +fromMonth + "-" + fromDay + "')';");

これは次のようになります。

select * from geninfo where timestamp='date('2013-07-08')';

エラーは(near "2013": syntax error)

格納される値は「2013-07-08 09:08:51」です。

特定の日のすべてのデータを選択したい。また、別の列を日付オブジェクトとして保存する方が簡単でしょうか?

4

1 に答える 1

0
  1. date関数を単一引用符 (文字列の区切り記号) で囲まないでください。SQL ステートメントにあるのは、 string date(、数値201307、および08であり、これらは互いに減算され、 string)です。
  2. 関数は stringをstring にdate変換します。それを文字列と比較すると失敗します。時間フィールドを持つ文字列から時間を削除したいとします。2013-07-082013-07-082013-07-08 09:08:51

    SELECT *
    FROM geninfo
    WHERE DeviceTag = ?
      AND date(timestamp) = '2013-07-08'
    
于 2013-07-08T16:34:39.633 に答える