PostgreSQL: función aleatoria

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: función aleatoria

Este tutorial de PostgreSQL explica cómo usar PostgreSQL función aleatoria Con sintaxis y ejemplos.

describir

La función aleatoria de PostgreSQL se puede utilizar para devolver un número aleatorio o un rango de números aleatorios.

sintaxis

La sintaxis de la función aleatoria en PostgreSQL es:

random( )

parámetro o parámetro

Una función aleatoria no tiene parámetros ni parámetros.

notas

  • La función aleatoria devolverá un valor entre 0 (incluido) y 1 (exclusivo), por lo que el valor >= 0 y el valor < 1.
  • Use la función setseed para establecer la semilla para la función aleatoria.
  • Si no se proporciona ninguna semilla, la función aleatoria devuelve un número completamente aleatorio (utilice la función setseed para establecer la semilla).
  • La función aleatoria devuelve una secuencia repetible de números aleatorios (semilla usando la función setseed) cada vez que se usa un valor semilla específico.

rango decimal aleatorio

Para crear un número decimal aleatorio entre dos valores (rango), se puede utilizar la siguiente fórmula:

SELECT random()*(b-a)+a;

donde a es el número más pequeño y b es el número más grande para el cual se generarán números aleatorios.

SELECT random()*(25-10)+10;

La fórmula anterior generará un número decimal aleatorio >= 10 y < 25. (notas: Esta fórmula nunca devuelve el valor 25 porque la función aleatoria nunca devuelve 1. )

rango de enteros aleatorios

Para crear un número entero aleatorio entre dos valores (incluido un rango), se puede utilizar la siguiente fórmula:

SELECT floor(random()*(b-a+1))+a;

donde a es el número más pequeño y b es el número más grande para el cual se generarán números aleatorios.

SELECT floor(random()*(25-10+1))+10;

La fórmula anterior generará un número entero aleatorio entre 10 y 25, inclusive.

aplicar para

La función aleatoria está disponible en las siguientes versiones de PostgreSQL:

  • PostgreSQL 9.4, PostgreSQL 9.3, PostgreSQL 9.2, PostgreSQL 9.1, PostgreSQL 9.0, PostgreSQL 8.4

ejemplo de numero aleatorio

Exploremos cómo usar la función aleatoria en PostgreSQL para generar un número aleatorio >= 0 y < 1.

Por ejemplo:

postgres=# SELECT random();
      random
-------------------
 0.576233202125877
(1 row)

Aunque la función aleatoria devuelve 0, nunca devuelve 1. Siempre devolverá un valor menor que 1.

Ejemplo de rango decimal aleatorio

Exploremos cómo usar la función aleatoria en PostgreSQL para generar números decimales aleatorios (es decir, rangos) entre dos números.

Por ejemplo, lo siguiente generará valores decimales aleatorios >= 1 y < 10 (notas: nunca devuelve el valor 10):

postgres=# SELECT random()*(10-1)+1;
     ?column?
-------------------
 6.65084521705285
(1 row)

El siguiente ejemplo generará un valor decimal aleatorio >= 25 y < 40 (notas: nunca devuelve 40):

postgres=# SELECT random()*(40-25)+25;
     ?column?
------------------
 37.7279848000035
(1 row)

Ejemplo de rango de enteros aleatorios

Exploremos cómo usar la función aleatoria en PostgreSQL para generar enteros aleatorios (es decir, rangos inclusivos) entre dos números.

Por ejemplo, lo siguiente generará valores enteros aleatorios entre 1 y 10:

postgres=# SELECT floor(random()*(10-1+1))+1;
 ?column?
----------
     8
(1 row)

El siguiente ejemplo generará valores enteros aleatorios entre 25 y 40:

postgres=# SELECT floor(random()*(40-25+1))+25;
 ?column?
----------
    36
(1 row)