====== RAND() ====== ===== Версии сервера ===== ^ ^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.1 ^ 2.5 ^ 3.0 ^ ^Как [[UDF]] | Да | Да | Да | Да | Да | Да | - | - | - | ^Как встроенная функция | - | - | - | - | - | - | Да | Да | Да | ===== Доступно в ===== [[raznovidnosti_jazyka_sql|DSQL]], [[raznovidnosti_jazyka_sql|ISQL]], [[raznovidnosti_jazyka_sql|PSQL]] ===== Формат ===== RAND() ^ Аргумент ^ Описание ^ | Возвращает | [[tipy_dannyx|DOUBLE PRECISION]] | ===== Описание ===== Функция RAND() возвращает псевдослучайное число, равномерно распределенное в интервале от [0..1]. :!: В Firebird версии младше 2.1 для того, чтобы пользоваться этой функцией, ее необходимо подключить к базе данных как [[UDF]]. ===== Объявление ===== 1. В Firebird версии младше 2.1 функция объявляется как [[UDF]] в внешнем модуле "ib_udf". DECLARE EXTERNAL FUNCTION RAND RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'IB_UDF_rand' MODULE_NAME 'ib_udf'; 2. В Firebird версии 2.1 и старше является встроенной функцией при соглашении объявления ее как: DECLARE EXTERNAL FUNCTION RAND RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'IB_UDF_rand' MODULE_NAME 'SYSTEM'; ===== Пример ===== 1) Псевдослучайное число в интервале [0..1] SELECT RAND() FROM RDB$DATABASE 2) Псевдослучайное число в интервале [1..100] SELECT TRUNC(RAND() * 100) FROM RDB$DATABASE 3) Псевдослучайное число в интервале [1..123456] SELECT TRUNC(RAND() * 123456) FROM RDB$DATABASE ===== См. также ===== [[UDF]], [[vstroennye_funkcii|Встроенные функции]], [[TRUNC()]] ===== Источник ===== langref.pdf