Menjana Nilai Masa Tarikh Rawak dalam Julat Tertentu dalam MySQL
Memasukkan nilai masa tarikh rawak dalam julat tertentu ialah keperluan biasa dalam operasi pangkalan data. Menggunakan SQL, adalah mungkin untuk menjana nilai sedemikian dengan beberapa helah.
Sebagai contoh, mari kita pertimbangkan julat dari 2010-04-30 14:53:27 hingga 2012-04-30 14:53:27. Untuk menjana masa tarikh rawak dalam julat ini, pendekatan berikut boleh digunakan:
INSERT INTO `sometable` VALUES( FROM_UNIXTIME( UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000)) ) )
Pertanyaan ini menukar tarikh asas 30-04-2010 14:53:27 kepada cap waktu Unix. Ia kemudian menambah bilangan saat rawak antara 0 dan 63072000 (kira-kira 2 tahun) ke tarikh asas menggunakan fungsi FLOOR(). Akhir sekali, ia menukar cap waktu Unix yang diubah suai kembali kepada DATETIME menggunakan fungsi FROM_UNIXTIME().
Kaedah ini menyediakan anggaran hampir nilai masa tarikh rawak dalam julat yang ditentukan. Walau bagaimanapun, ia mungkin tidak tepat sepenuhnya dalam tempoh yang panjang disebabkan oleh tahun lompat dan pelarasan kalendar lain.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Nilai Datetime Rawak dalam Julat Tertentu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!