Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีดู Time Zone ปัจจุบันของ MySQL

ใช้ตัวแปรระบบ @@global.time_zone และ @@session.time_zone

Query ดู Time Zone

mysql> SELECT @@global.time_zone, @@session.time_zone;

ผลลัพธ์ทั่วไป:

+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM             | SYSTEM              |
+--------------------+---------------------+

SYSTEM หมายถึงใช้ Time Zone ของ OS Server

วิธีอื่น: ดูจาก NOW()

mysql> CREATE TABLE CurrentTimeZone (currenttimeZone DATETIME) ENGINE=MYISAM;
mysql> INSERT INTO CurrentTimeZone VALUES (NOW());
mysql> SELECT * FROM CurrentTimeZone;
+---------------------+
| currenttimeZone     |
+---------------------+
| 2018-10-29 17:20:12 |
+---------------------+

ตั้งค่า Time Zone

-- ตั้งค่า Session (เฉพาะ Connection นี้)
SET time_zone = '+07:00';  -- หรือ 'Asia/Bangkok'

-- ตั้งค่า Global (ต้อง SUPER privilege, ผลกระทบ Connection ใหม่)
SET GLOBAL time_zone = '+07:00';
แนะนำ: ใช้ IANA Time Zone name เช่น 'Asia/Bangkok' แทน Offset เพราะจัดการ Daylight Saving อัตโนมัติ (ต้องโหลด Time Zone Tables ก่อนด้วย mysql_tzinfo_to_sql)