sql >> データベース >  >> RDS >> Mysql

MySQLでJDBCを使用したBETWEENクエリ

    MySQLでは、DATE タイプはJavaクラスjava.sql.Timestampにマップされます 。したがって、java.util.Dateではなく、このタイプを使用してクエリを作成する必要があります。 。必要な2つのタイムスタンプを生成するコードは次のとおりです。

    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    java.util.Date startDate = formatter.parse(startDate);
    java.util.Date endDate   = formatter.parse(endDate);
    
    java.sql.Timestamp start = new Timestamp(startDate.getTime());
    java.sql.Timestamp end   = new Timestamp(endDate.getTime());
    

    次に、最初のBETWEENを使用します 結果を取得するためのクエリ:

    PreparedStatement ps = con.prepareStatement("SELECT * FROM project.order
                                                 WHERE PO_Date BETWEEN ? AND ?");
    ps.setTimestamp(1, start);
    ps.setTimestamp(2, end)
    

    ここでは、パラメーター化されたPreparedStatementを使用していることに注意してください。 、SQLインジェクションの可能性を回避(または少なくとも大幅に削減)します。



    1. Neo4j-Cypherを使用してCSVファイルからデータをインポートする

    2. PostgreSQL8.3以降のOLTPパフォーマンス

    3. MySQL:#1075-テーブル定義が正しくありません。自動インクリメントと別のキー?

    4. 最も近い試合、パート3