以下のようなテーブルがある.
MariaDB [staging]> desc guests;
+---------------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| department_id | smallint(5) unsigned | YES | MUL | NULL | |
| user_id | varchar(10) | YES | | NULL | |
| comment | varchar(255) | YES | | NULL | |
| entered_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
| exited_at | datetime | YES | | NULL | |
+---------------+----------------------+------+-----+---------+----------------+
7 rows in set (0.036 sec)
現状では,JSTでdatetime型のカラムに記録されている.
MariaDB [staging]> select * from guests;
+----+---------------+----------+-----------------------------+---------------------+---------------------+---------------------+
| id | department_id | user_id | comment | entered_at | updated_at | exited_at |
+----+---------------+----------+-----------------------------+---------------------+---------------------+---------------------+
| 3 | 1 | C0117123 | これはテストです〜 | 2019-08-08 02:41:20 | 2019-08-08 20:41:20 | 2020-03-02 23:00:09 |
ここでは entered_at
カラムの時刻をUTCへ修正する.
UPDATE guests SET entered_at=entered_at - INTERVAL 9 HOUR
修正されたことが確認できる.
MariaDB [staging]> select * from guests;
+----+---------------+----------+-----------------------------+---------------------+---------------------+---------------------+
| id | department_id | user_id | comment | entered_at | updated_at | exited_at |
+----+---------------+----------+-----------------------------+---------------------+---------------------+---------------------+
| 3 | 1 | C0117123 | これはテストです〜 | 2019-08-07 17:41:20 | 2019-08-08 20:41:20 | 2020-03-02 23:00:09 |