This tutorial explains how to use the MySQL RAND function with syntax and examples.

Description

The MySQL RAND function can be used to return a random number or a random number within a range.

Syntax

The syntax for the RAND function in MySQL is:

Parameters or Arguments

seed

Optional. If specified, it will produce a repeatable sequence of random numbers each time that seed value is provided.

Note

The RAND function will return a value between 0 (inclusive) and 1 (exclusive), so value >= 0 and value 1.

The RAND function will return a completely random number if no seed is provided.

The RAND function will return a repeatable sequence of random numbers each time a particular seed value is used.

Random Decimal Range

To create a random decimal number between two values (range), you can use the following formula:

Where a is the smallest number and b is the largest number that you want to generate a random number for.

The formula above would generate a random decimal number >= 10 and 25. (Note: this formula will never return a value of 25 because the random function will never return 1.)

Random Integer Range

To create a random integer number between two values (inclusive range), you can use the following formula:

Where a is the smallest number and b is the largest number that you want to generate a random number for.

The formula above would generate a random integer number between 10 and 25, inclusive.

Applies To

The RAND function can be used in the following versions of MySQL:

MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

Example of Random Number

Let's explore how to use the RAND function in MySQL to generate a random number >= 0 and 1.

For example:

Although the RAND function will return a value of 0, it will never return a value of 1. It will always return a value smaller than 1.

Example of Random Decimal Range

Let's explore how to use the RAND function in MySQL to generate a random decimal number between two numbers (ie: range).

For example, the following would generate a random decimal value that is >= 1 and 10 (Note: it will never return a value of 10):

Example of Random Integer Range

Let's explore how to use the RAND function in MySQL to generate a random integer number between two numbers (ie: inclusive range).

For example, the following would generate a random integer value between 20 and 30: