Mengira Perbezaan Masa antara Cap Masa dalam MySQL
Ramai pembangun mendapati diri mereka perlu menentukan perbezaan masa antara dua cap masa. Dalam MySQL, terdapat berbilang pendekatan untuk mencapai ini, masing-masing dengan kekuatan dan pertimbangannya.
Salah satu cara ialah menggunakan fungsi TIMEDIFF() dan TIME_TO_SEC(). Kaedah ini mengembalikan perbezaan masa dalam saat:
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
Pendekatan lain menggunakan fungsi UNIX_TIMESTAMP(), seperti yang dicadangkan oleh @Amber:
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') - UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
Untuk jenis data TIMESTAMP, UNIX_TIMESTAMP () kaedah didakwa lebih pantas kerana ia mengakses secara langsung nilai cap masa dalaman. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa TIMEDIFF() mengembalikan nilai TIME, yang mempunyai had dalam julat (-838:59:59 hingga 838:59:59). Ini mungkin tidak sesuai untuk senario dengan perbezaan masa yang besar.
Kesimpulannya, pembangun mempunyai berbilang pilihan untuk mengira perbezaan masa dalam MySQL bergantung pada jenis data dan keperluan khusus aplikasi mereka.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Masa dengan Cekap Antara Cap Masa dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!