# 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)```
{"ft_lang_label":"__label__en","ft_lang_prob":0.6691663,"math_prob":0.9923891,"size":3239,"snap":"2019-13-2019-22","text_gpt3_token_len":848,"char_repetition_ratio":0.16661514,"word_repetition_ratio":0.38011697,"special_character_ratio":0.29947513,"punctuation_ratio":0.11353032,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9983841,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2019-05-21T05:07:33Z\",\"WARC-Record-ID\":\"<urn:uuid:26781857-66e0-40a6-b721-8a7c680e22f9>\",\"Content-Length\":\"56114\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:59040524-c57b-4911-822b-acccb4dbd3f7>\",\"WARC-Concurrent-To\":\"<urn:uuid:74c319e3-c36a-4bf7-ad02-c4846979ccff>\",\"WARC-IP-Address\":\"104.18.51.145\",\"WARC-Target-URI\":\"https://scanftree.com/tutorial/tsql-mssql/numeric-math-functions/rand-function/\",\"WARC-Payload-Digest\":\"sha1:YKESWA6OJJQWQPOTULWSVZY3NJ2D4TE5\",\"WARC-Block-Digest\":\"sha1:7IHTBY27J5KATETJ7BFQC4KHSIUAKUFQ\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2019/CC-MAIN-2019-22/CC-MAIN-2019-22_segments_1558232256227.38_warc_CC-MAIN-20190521042221-20190521064221-00154.warc.gz\"}"}