ฟังก์ชัน RAND() ใน MySQL ใช้สำหรับสร้างค่าตัวเลขสุ่มแบบทศนิยม (float) ระหว่าง 0.0 ถึง น้อยกว่า 1.0 ผลลัพธ์เป็นค่าทศนิยม เช่น 0.73215, 0.02486, 0.99991 สามารถใส่ค่า seed (ค่าตั้งต้น) เพื่อควบคุมผลลัพธ์ให้เหมือนเดิมทุกครั้งที่รัน
ประโยชน์ของฟังก์ชัน RAND()
- ใช้สุ่ม
- ข้อมูลจากตาราง
- เลือกรายการแบบสุ่ม
- ลำดับข้อมูลแบบสุ่ม (
ORDER BY RAND()) - สร้างค่าในการทดสอบ
- ใช้ในระบบ
- เกม, แบบสอบถาม, CAPTCHA
- ระบบสุ่มรางวัล
- การทดลองหรือการทดสอบระบบด้วยข้อมูลจำลอง
รูปแบบการใช้งาน
RAND()
หรือ
RAND(seed)
seedคือเลขจำนวนเต็มใด ๆ ที่ใช้เป็น “ค่าตั้งต้น” ของการสุ่ม- ถ้าใส่ค่า seed จะได้เลขสุ่มเดิมทุกครั้ง (เหมาะกับการทดสอบ)
ตัวอย่างการใช้งาน
SQL
SELECT RAND();
-- ผลลัพธ์: ตัวเลขสุ่ม เช่น 0.8243
SELECT RAND(1);
-- ผลลัพธ์: ค่าคงที่ เช่น 0.1552 (รันกี่ครั้งก็ได้เลขเดิม)
SELECT RAND(2025);
-- ผลลัพธ์: ค่าคงที่ตาม seed ที่กำหนดสุ่มเรียงลำดับแถวในตาราง
SQL
SELECT *
FROM customer
ORDER BY RAND()
LIMIT 5;- สุ่มเลือกลูกค้า 5 คน จากตาราง
customer
สร้างตัวเลขสุ่มตั้งแต่ 1 ถึง 100
SQL
SELECT FLOOR(1 + (RAND() * 100)) AS random_number;
-- ผลลัพธ์: ตัวเลขสุ่มระหว่าง 1 ถึง 100RAND()คืนค่า 0.0–0.999… คูณขอบเขตที่ต้องการ แล้วFLOOR()ปัดลงเป็นจำนวนเต็ม