Di MySQL, RAND()
fungsi memungkinkan Anda untuk menghasilkan nomor acak. Secara khusus, fungsi mengembalikan nilai floating-point acak v dalam rentang 0 <= v < 1.0
.
Anda juga dapat memengaruhi angka acak dengan memberikan nilai awal sebagai argumen.
Sintaks
Sintaksnya seperti ini:
RAND([N])
Dimana N
adalah nilai seed opsional yang dapat Anda gunakan untuk memengaruhi hasil.
Contoh 1 – Tidak Ada Argumen
Berikut adalah contoh dasar untuk menunjukkan apa yang terjadi ketika kami tidak memberikan argumen.
SELECT RAND();
Hasil:
+--------------------+ | RAND() | +--------------------+ | 0.4335442291885095 | +--------------------+
Hasilnya tidak konstan – akan berbeda setiap kali Anda menjalankannya.
Berikut adalah contoh yang terjadi ketika kita menjalankan beberapa RAND()
berfungsi bersama.
SELECT RAND() 'Result 1', RAND() 'Result 2', RAND() 'Result 3';
Hasil:
+--------------------+---------------------+---------------------+ | Result 1 | Result 2 | Result 3 | +--------------------+---------------------+---------------------+ | 0.9413559538697414 | 0.40614711251682334 | 0.20666773170853753 | +--------------------+---------------------+---------------------+
Contoh 2 – Menggunakan Nilai Benih
Seperti yang disebutkan, Anda dapat memberikan argumen untuk menentukan nilai benih. Ini memungkinkan Anda untuk memengaruhi keluaran fungsi.
SELECT RAND(5);
Hasil:
+---------------------+ | RAND(5) | +---------------------+ | 0.40613597483014313 | +---------------------+
Dalam hal ini, fungsi akan mengembalikan nilai yang sama setiap kali jika nilai argumen yang sama diberikan.
SELECT RAND(5) 'Result 1', RAND(5) 'Result 2', RAND(5) 'Result 3';
Hasil:
+---------------------+---------------------+---------------------+ | Result 1 | Result 2 | Result 3 | +---------------------+---------------------+---------------------+ | 0.40613597483014313 | 0.40613597483014313 | 0.40613597483014313 | +---------------------+---------------------+---------------------+
Contoh 3 – Menggunakan RAND() sebagai Bagian dari Ekspresi
Anda dapat menggunakan RAND()
berfungsi sebagai bagian dari ekspresi.
SELECT RAND()*10;
Hasil:
+-------------------+ | RAND()*10 | +-------------------+ | 8.148973517258627 | +-------------------+
Contoh 4 – Mengembalikan Bilangan Bulat Acak Antara Dua Angka
Anda dapat menggabungkan RAND()
fungsi dengan FLOOR()
berfungsi untuk mengembalikan bilangan bulat acak antara dua angka.
Berikut cara menghasilkan bilangan bulat antara 5 dan 10 (inklusif).
SELECT FLOOR(RAND()*(10-5+1)+5);
Hasil:
+--------------------------+ | FLOOR(RAND()*(10-5+1)+5) | +--------------------------+ | 7 | +--------------------------+
Mari kita jalankan kode yang sama beberapa kali untuk melihat hasil yang bervariasi.
SELECT FLOOR(RAND()*(10-5+1)+5) 'Result 1', FLOOR(RAND()*(10-5+1)+5) 'Result 2', FLOOR(RAND()*(10-5+1)+5) 'Result 3';
Hasil:
+----------+----------+----------+ | Result 1 | Result 2 | Result 3 | +----------+----------+----------+ | 7 | 9 | 6 | +----------+----------+----------+