Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL CONVERT_TZ()

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 |
+---------------------+---------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan MySQL membutuhkan waktu lebih dari satu menit untuk dieksekusi

  2. Cara mengimpor dan mengekspor database melalui phpMyAdmin ('Akses ditolak buat database db_name' error)

  3. MySQL:NULL vs

  4. ER_NOT_SUPPORTED_AUTH_MODE - server MySQL

  5. Tidak ada penyedia Entity Framework yang ditemukan untuk penyedia ADO.NET 'MySql.Data.MySqlClient'