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

PreparedStatementでのsetDateの使用

    java.sql.Dateを使用する

    テーブルにタイプDATEの列がある場合 :

    • java.lang.String

      メソッドjava.sql.Date.valueOf(java.lang.String) yyyy-[m]m-[d]dの形式で日付を表す文字列を受け取りました 。例:

      ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));
      
    • java.util.Date

      変数endDateがあるとします。 タイプjava.util.Date 、次のように変換します:

      ps.setDate(2, new java.sql.Date(endDate.getTime());
      
    • 現在

      現在の日付を挿入する場合:

      ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));
      
      // Since Java 8
      ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now()));
      

    java.sql.Timestampの使用

    テーブルにタイプTIMESTAMPの列がある場合 またはDATETIME

    • java.lang.String

      メソッドjava.sql.Timestamp.valueOf(java.lang.String) yyyy-[m]m-[d]d hh:mm:ss[.f...]の形式で日付を表す文字列を受け取りました 。例:

      ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00");
      
    • java.util.Date

      変数endDateがあるとします。 タイプjava.util.Date 、次のように変換します:

      ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
      
    • 現在

      現在のタイムスタンプが必要な場合:

      ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
      
      // Since Java 8
      ps.setTimestamp(2, java.sql.Timestamp.from(java.time.Instant.now()));
      ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()));
      


    1. 交差するタイムスパンの平坦化

    2. PostgreSQLのサブクエリから(複数の行と列)を更新または挿入します

    3. データベース管理者向けのトップMySQLブログおよびWebサイト

    4. Postgres配列にNULLが存在するかどうかを確認します