SQL - RAND() Function


The SQL RAND() is a function that will display the random values that lie between 0 and 1. and it does not return exactly 1.

The random number is between 0 (inclusive) and 1 (exclusive), so it is between 0 and 1. i.e., the number is greater than or equal to 0 and less than 1.

Syntax

Following is the syntax of the Rand function −

Select RAND(number) AS Alias_name;

Following is the syntax of the RAND() function that is used in the SQL and fetches the data from the created table.

SELECT RAND(column_name) AS Alias_Name FROM table_name;

In the above syntax, we are using the table name that we have created, and we have to define the name of the column on which we want to perform the RAND() function.

Example

In the following example, we are generating the random value using the RAND() function in the SQL.

Following is the query −

SELECT RAND() AS random;

Output

Following is the output of the above SQL query. If you execute as many times as you want, the random value will change as well.

+-------------------+
| random            |
+-------------------+
| 0.693302660894862 |
+-------------------+

Example

In the following example, we can also pass the expression as a parameter to this function as shown below.

Following is the query −

SELECT RAND(225+(RAND()*9));

Output

Following is the output of the above query −

+------------------+
|0.717840310659793 |
+------------------+

Example

In the following example, we are multiplying the RAND() function with the some expression i.e. (10-5)+5.

Following is the query −

SELECT RAND()*(10-5)+5 AS randomvalue;

Output

Following is the output of the above query, which always lies between 5 and 10 −

+------------------+
|     randomvalue  |
+------------------+
| 8.29504539625159 |
+------------------+

Example

In the following example, we are calculating the floor of the random value, and the number should always be displayed between 5 and 10.

Following is the query to calculate a random number that is >=5 and =10.

SELECT FLOOR(RAND()*(10-5+1)+5) AS floor_of_Rand;

Output

Following is the output of the above query, which always lies between or equal to 5 and 10.

+---------------+
| floor_of_Rand |
+---------------+
|            10 |
+---------------+
sql-numeric-functions.htm
Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements