### What does the Transact-SQL server RAND function do?

- Aggregates a subset of random numbers
- Generate a random number
- Requests a range of numbers from a subset
- Selects an random number from subset

#### EXPLANATION

SQL Server: RAND Function

This SQL Server tutorial explains how to use the

**RAND function**in SQL Server (Transact-SQL) with syntax and examples.## Description

In SQL Server (Transact-SQL), the 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 SQL Server (Transact-SQL) is:RAND( [seed] )

### 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 and 1 (not inclusive), 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:SELECT RAND()*(b-a)+a;Where

*a*is the smallest number and

*b*is the largest number that you want to generate a random number for.

SELECT RAND()*(25-10)+10;The formula above would generate a random decimal number between 10 and 25, not inclusive.

**TIP:**This formula would generate a random decimal number that is > 10 and < 25 but it would never return exactly 10 or 25.

## Random Integer Range

To create a random integer number between two values (range), you can use the following formula:SELECT FLOOR(RAND()*(b-a+1))+a;Where

*a*is the smallest number and

*b*is the largest number that you want to generate a random number for.

SELECT FLOOR(RAND()*(25-10+1))+10;The formula above would generate a random integer number between 10 and 25, inclusive.

**TIP:**This formula would generate a random integer number that is >= 10 and <= 25.

## Applies To

The RAND function can be used in the following versions of SQL Server (Transact-SQL):- SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

## Example of Random Number

Let's explore how to use the RAND function in SQL Server (Transact-SQL) to generate a random number between 0 and 1, not inclusive.For example:

SELECT RAND();Result:0.143811355073783(no seed value, so your answer will vary)SELECT RAND(9);Result:0.713741056982989(with seed value of 9)SELECT RAND(-5);Result:0.713666525097956(with seed value of -5)

## Example of Random Decimal Range

Let's explore how to use the RAND function in SQL Server (Transact-SQL) to generate a random decimal number between two numbers (ie: range).For example, the following would generate a random decimal value between 1 and 10, not inclusive (random number would be greater than 1 and less than 10):

SELECT RAND()*(10-1)+1;Result:5.09104269717813(no seed value, so your answer will vary)SELECT RAND(9)*(10-1)+1;Result:7.4236695128469(with seed value of 9)SELECT RAND(-5)*(10-1)+1;Result:7.42299872588161(with seed value of -5)

## Example of Random Integer Range

Let's explore how to use the RAND function in SQL Server (Transact-SQL) to generate a random integer number between two numbers (ie: range).For example, the following would generate a random integer value between 10 and 20, inclusive:

SELECT FLOOR(RAND()*(20-10+1))+10;Result:19(no seed value, so your answer will vary)SELECT FLOOR(RAND(9)*(20-10+1))+10;Result:17(with seed value of 9)SELECT FLOOR(RAND(123456)*(20-10+1))+10;Result:10(with seed value of 123456)