Функция RAND
Функция RAND используется для генерации псевдо-случайных чисел во время выполнения программы. Ее синтаксис и функциональность практически идентичны в DB2 9.5 и Microsoft
SQL Server 2008 (аналогичной функции в Oracle не существует, хотя ее можно эмулировать с помощью пакетов PL/SQL). Она принимает произвольный целочисленный аргумент, на основе которого генерирует псевдо-случайные числа в диапазоне от нуля до единицы (включительно). Синтаксис Microsoft SQL Server 2008 следующий. В применении функции RAND есть несколько нюансов: если вызывать ее в течение сеанса несколько раз с одним и тем же аргументом, она даст одни и те же результаты. Чтобы получить разные псевдослучайные числа, нужно указывать разные аргументы или вызывать ее в разных сеансах.
Получение случайных чисел из другого диапазона Спрашивается, что делать, если нужны случайные числа больше единицы? В данном случае нужно умножить результат функции на соответствующее число, а затем с помощью функций truncate или round обрезать или округлить результат. В следующем примере генерируются случайные числа из диапазона от нуля до 1000 (в синтаксисе Micrsofot SQL Server 2008).
Самым очевидным решением данной задачи будет внедрение функции RAND в некоторую пользовательскую функцию. Все три крупнейшие СУБД позволяют создавать в своем интерфейсе пользовательские функции. Более подробно о пользовательских функциях читайте