CURRENT_TIMESTAMP
UTCとして保存されているが、現在のタイムゾーンとして取得される@ypercubeのコメントと一緒に進むには、取得の--default_time_zoneオプションを使用してサーバーのタイムゾーン設定に影響を与えることができます。これにより、検索は常にUTCになります。
デフォルトでは、オプションは「SYSTEM」です。これは、システムのタイムゾーンの設定方法です(UTCである場合とそうでない場合があります)。
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 16:28:45 |
+---------------------+
1 row in set (0.00 sec)
これを動的に設定できます。
mysql> SET @@session.time_zone='+00:00';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
または、my.cnfで永続的に:
[mysqld]
**other variables**
default_time_zone='+00:00'
サーバーを再起動すると、変更が表示されます。
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| +00:00 | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 20:27:50 |
+---------------------+
1 row in set (0.01 sec)
CURRENT_TIMESTAMP
か?