Menolak Jam daripada Medan Waktu Tarikh MySQL
Apabila berurusan dengan data tarikh dan masa dalam MySQL, selalunya perlu memanipulasi nilai masa ke akaun untuk zon waktu atau perbezaan masa. Soalan ini meneroka cara untuk menolak jam daripada medan datetime menggunakan fungsi terbina dalam MySQL.
Penyelesaian MySQL: DATE_SUB()
MySQL menyediakan fungsi DATE_SUB() secara khusus untuk menolak selang tertentu daripada nilai datetime. Dalam kes ini, untuk menolak 3 jam daripada medan datetime, anda boleh menggunakan pertanyaan berikut:
SELECT DATE_SUB(x.date_entered, INTERVAL 3 HOUR) AS date FROM x ORDER BY date ASC;
Pendekatan Alternatif: Menyelesaikan Isu Zon Masa
Semasa menggunakan DATE_SUB() ialah penyelesaian yang sah, ia patut dipertimbangkan jika isu zon waktu yang mendasari boleh diselesaikan. Perbezaan zon masa boleh menyebabkan kekeliruan dan ralat jika tidak dikendalikan dengan betul.
Salah satu pendekatan yang berpotensi ialah memastikan medan datetime disimpan dalam zon waktu yang konsisten. Ini boleh dicapai dengan menetapkan pembolehubah sistem zon_masa atau menentukan zon waktu secara eksplisit dalam pertanyaan. Contohnya:
SET time_zone = 'America/Los_Angeles'; SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC;
Pendekatan ini membantu menghapuskan percanggahan zon waktu dan memberikan perwakilan yang lebih tepat bagi nilai masa tarikh.
Atas ialah kandungan terperinci Bagaimana untuk Menolak Jam daripada Medan MySQL DATETIME?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!