Blog Post

T-SQL Random Numbers using RAND() for Test Data

,

T-SQL Random Numbers using RAND()

SQL Server includes the T-SQL RAND() function to create a random value between 0 and 1 of float datatype.  To create a random number execute Select Rand(), in my example it returned .0131039082850364.  If I wanted to always return the same number I can include a seed value, such as Select RAND(21).  Using 21 as the seed value, the query returned .713964652638088.

One way to leverage the RAND() function is to create sample data.  For example, I often use RAND() to create new columns and populate with data for testing such as gender (0, 1), churn rate (1,0), product numbers.

To limit the results between 0 and 1 you need to generate the random number and convert it to an integer.  In the following steps you will see how to convert the float to a integer and generate the desired results.

Step 1 –create a random value

declare @randomfloat float

set @randomfloat = (select rand())

select @randomfloat as random_float

–Multiplying the float value returned by 2

select @randomfloat * 2 as Random_2

–Convert the float value to an integer that returns 0 or 1

SELECT convert (int, (2)*@randomfloat ) as Random_0_1

If you need higher values than 0 or 1 you can increase the value used to multiple times the @randomfloat.  For example to generate a key between 0-9 multiply the @randomfloat * 10.

For complete details on RAND() see MSDN.

The post T-SQL Random Numbers using RAND() for Test Data appeared first on BI and Predictive Analytics.

Rate

You rated this post out of 5. Change rating

Share

Share

Rate

You rated this post out of 5. Change rating