Jika ini menghasilkan null maka tabel TZ belum disiapkan:
SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
Jika Anda tidak mengatur tabel zona waktu, Anda dapat memperbarui offset jam di tabel pengguna dan kemudian melakukan:
select utc_timezone() - interval user_timezone_offset_in_hours hour
from userinfo a
where user_id = 999;
Namun, Anda masih memerlukan cara untuk memperbarui zona waktu pengguna.
Jika Anda menulis ini untuk aplikasi web, Anda bisa mendapatkan zona waktu melalui javascript, berikut adalah artikel yang menjelaskan caranya (belum mencoba ini tapi sepertinya akan berhasil).
Sedikit penjelasan mengenai 'interval' di atas...
Salah satu konstruksi trik lainnya di MySQL adalah penggunaan INTERVAL
kata kunci, paling baik ditunjukkan dengan contoh (nilai numerik dapat berupa ekspresi atau nilai bidang)
select now() today, now() - interval 1 day yesterday;
+---------------------+---------------------+
| today | yesterday |
+---------------------+---------------------+
| 2011-05-26 13:20:55 | 2011-05-25 13:20:55 |
+---------------------+---------------------+
Anda dapat menambahkan dan menguranginya sesuka Anda, inilah mengapa saya tidak pernah repot-repot dengan tanggal/waktu menambah/mengurangi/mengubah fungsi
select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2011-05-26 13:24:16 | 2011-05-25 17:32:16 |
+---------------------+---------------------+
Anda dapat menggunakan angka negatif (harus bagus untuk offset zona waktu negatif) ini sama:
select now() - interval 1 month a, now() + interval -1 month b;
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2011-04-26 13:38:05 | 2011-04-26 13:38:05 |
+---------------------+---------------------+