Rand () Definition: returns a random floating point value from 0 to 1.
Example:
Select rand () as random number result
Select cast (floor (RAND () * n) as INT) -- Method 1
Result: 47
Select cast (celing (RAND () * n) as INT) -- method 2
Result: 47
Generally, there is no difference between the two methods. The difference is their range of random numbers:
The number range of Method 1: 0 to N-1, for example cast (floor (RAND () * 100) as INT) will generate any integer between 0 and 99
The number range of Method 2: 1 to n. For example, cast (ceiling (RAND () * 100) as INT) generates any integer between 1 and 100.
For this difference, see the SQL online help.
Compare ceiling and floor
The ceiling function returns the smallest integer greater than or equal to the given numeric expression. The floor function returns the largest integer less than or equal to the given numeric expression.
For example, for the numeric expression 12.9273, ceiling returns 13 and floor returns 12.
The data types returned by floor and ceiling are the same as those of the input numeric expression.