Mencipta Objek Tarikh daripada Medan Tarikh Berbeza dalam MySQL
Kesukaran anda, di mana perwakilan tarikh skema pangkalan data dibahagikan kepada hari, bulan, dan medan tahun, memberikan cabaran unik untuk manipulasi tarikh dalam SQL. Walau bagaimanapun, menggunakan pendekatan berikut, anda boleh membina objek tarikh dengan berkesan daripada medan berasingan ini.
Untuk mencipta objek DATETIME daripada nilai integer yang mewakili tahun, bulan dan hari, gunakan gabungan MAKEDATE() dan DATE_ADD( ) fungsi.
Dengan menggabungkan fungsi ini, anda boleh membina tarikh secara beransur-ansur:
Contoh:
SELECT DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY);
Pertanyaan ini mengembalikan objek DATETIME untuk 11 Mac 2013.
Kini, anda boleh menggunakan teknik ini untuk membina julat tarikh sebagai perbandingan dalam SQL anda pertanyaan:
SELECT * FROM `date` WHERE DATE_ADD(DATE_ADD(MAKEDATE(year, 1), INTERVAL (month)-1 MONTH), INTERVAL (day)-1 DAY) BETWEEN '2013-01-01' AND '2014-01-01';
Pertanyaan ini mendapatkan semula semua rekod daripada jadual tarikh dengan tarikh jatuh antara 1 Januari 2013 dan 1 Januari 2014.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Objek Tarikh dari Medan Tahun, Bulan dan Hari yang Berasingan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!