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

JavaでのMySQLの日時とタイムスタンプの処理

    Java側では、日付は通常(設計が不十分ですが、それは別として) java.util.Date 。基本的には、 Epochtime に支えられています。 longのフレーバー 、タイムスタンプとも呼ばれます。日付と時刻の両方の部分に関する情報が含まれています。 Javaでは、精度はミリ秒単位です。

    SQL側には、いくつかの標準的な日付と時刻のタイプ、 DATE があります 、 TIME およびTIMESTAMP (一部のDBでは DATETIME とも呼ばれます )、JDBCではとして表されます。 java.sql.Date java.sql.Time および java.sql.Timestamp 、すべてのサブクラス java.util.Dateの 。精度はDBに依存し、多くの場合Javaのようにミリ秒単位ですが、秒単位の場合もあります。

    java.util.Dateとは対照的に 、 java.sql.Date 日付部分(年、月、日)に関する情報のみが含まれます。 時間 時間部分(時間、分、秒)とタイムスタンプに関する情報のみが含まれます java.util.Date など、両方の部分に関する情報が含まれています

    タイムスタンプをDBに保存する通常の方法(つまり、 java.util.Date Java側およびjava.sql.Timestamp JDBC側で) PreparedStatement#setTimestamp()

    java.util.Date date = getItSomehow();
    Timestamp timestamp = new Timestamp(date.getTime());
    preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");
    preparedStatement.setTimestamp(1, timestamp);
    

    DBからタイムスタンプを取得する通常の方法は、 ResultSet#getTimestamp()

    Timestamp timestamp = resultSet.getTimestamp("ts");
    java.util.Date date = timestamp; // You can just upcast.
    


    1. ODBCアプリケーションをMySQLに接続する

    2. PHPPDOと通常のmysql_connect

    3. データベースに多くの言語を話せるようにするにはどうすればよいですか?

    4. MySQLのデータベースクエリ効率の最大化-パート2-