DATE DATETIME TIMESTAMP - SQL

  • 作成日:
  • 最終更新日:2025/06/25

DATE DATETIME TIMESTAMP

DATE 日付部分のみの値を扱います。"YYYY-MM-DD" 形式で取得し表示します。
DATETIME 日付と時間の値を扱います。"YYYY-MM-DD hh:mm:ss" 形式で取得し表示します。
TIMESTAMP 日付と時間の値を扱います。"YYYY-MM-DD hh:mm:ss" 形式で取得し表示します。

テーブルの作成やレコードの登録は以下のようにします。

// テーブルの作成
CREATE TABLE ts (update_time datetime not null);

// レコードの登録
INSERT INTO ts (update_time) VALUES (now());

DATETIME と TIMESTAMP の違い

TIMESTAMP の値は、保存時にはタイムゾーンから UTC へ、読み出し時には UTC からタイムゾーンへと変換されます。

DATETIME はタイムゾーンの影響を受けることなく文字列として認識され保存されます。

datetime のデータを加工する

script.js - Node.js

const mysql = require('mysql2/promise');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  database: 'sample',
  password: 'password',
});

(async () => {
  try {
    const [results, fields] = await pool.query('SELECT * FROM ts');
    let date = new Date(results[0]["update_time"]).toLocaleString("sv-SE");
    console.log(date); // 2024-04-05 18:36:12

    let date2 = new Date(results[0]["update_time"]);
    console.log(date2.getFullYear() + "/" + (date2.getMonth() + 1) + "/" + date2.getDate()); // 2024/4/5
    console.log(results[0]["update_time"]); // 2024-04-05T09:36:12.000Z

  } catch (err) {
    console.log(err);
  }
  pool.end();
})();