Funciones PostgreSQL

Funciones PostgreSQL
PostgreSQL es un sistema de gestión de bases de datos potente y fácil de usar que proporciona características seguras, rápidas y muy intuitivas, lo que le permite concentrarse en los datos y no en la sintaxis de la consulta.

One Way PostgreSQL hace que su uso sea muy fácil es la funcionalidad de las funciones predefinidas. Estas funciones le permiten llamarlos y pasar los argumentos requeridos para obtener una salida.

En esta publicación, le daremos una hoja de trucos de las funciones más comunes de PostgreSQL e incluso le mostraremos cómo definir las personalizadas si es necesario.

Funciones matemáticas

La primera categoría de funciones PostgreSQL son las funciones matemáticas. Estos le permiten realizar operaciones matemáticas a los argumentos aprobados.

Función Funcionalidad
ABS (x) Devuelve un valor absoluto de x
Pi() Devuelve el valor constante de Pi
sqrt (x) Devuelve una raíz cuadrada de x
mod (x, y) Devuelve el valor de módulo de x e y
trunc (x) Trunca x hacia 0
exp (x) Devuelve el valor exponencial de x
aleatorio() Devuelve valores aleatorios entre 0 y 1.0
POW (A, B) Elevar A al poder de B
factorial (x) Devuelve el valor factorial de x
ln () Logaritim natural

Estas son algunas funciones matemáticas populares que puede usar en consultas PostgreSQL.

Funciones agregadas

Otro conjunto de funciones estándar de PostgreSQL son las funciones agregadas. Estos tipos de funciones realizan una acción en un conjunto de valores y devuelven un solo resultado.

Las funciones agregadas populares de PostgreSQL incluyen:

Función Funcionalidad
avg () Devolver la media promedio para un conjunto de valores
min () Valor mínimo para un conjunto dado de valores.
max () Valor máximo para un conjunto dado de valores
suma() Suma de los valores de entrada
contar() Número de filas para valores no nulos
contar(*) Devuelve el número de filas de entrada

Funciones de cadena

En PostgreSQL, las funciones de cadena son responsables de manipular los valores de las cadenas y devolver un valor.

Las funciones de cadena comunes incluyen:

Función Funcionalidad
más bajo() Convierte la cadena de entrada en minúsculas
superior() Convierte la cadena de entrada a mayúsculas
char_length () Devuelve el número de caracteres en una cadena
|| Concatene la cadena en el lado izquierdo con la cadena en el lado derecho
bit_length () Número de bits en una cadena
contrarrestar() Invertir la cadena de entrada
repetir() Repita la cadena pasada el número especificado de veces.

Funciones de fecha y hora

Como su nombre indica, las funciones de hora y fecha funcionan con datos de fecha y hora.

Las funciones comunes incluyen:

Función Funcionalidad
ahora() Devuelve la fecha y hora actuales
tiempo actual() Hora actual del día
fecha actual() Devuelve la fecha actual
edad() Devuelve el resultado simbólico en forma de año, mes y día desde la fecha actual
extracto() Extraer subcampo de una marca de tiempo

Funciones geométricas

Las funciones geométricas realizan una operación geométrica en el conjunto de valores aprobados. Aunque es posible que no te encuentres usando estas funciones con tanta frecuencia, son útiles.

Los ejemplos comunes de tales funciones incluyen:

Función Funcionalidad
área Devuelve el área del objeto.
diámetro Devuelve el diámetro de un círculo
longitud Devuelve la longitud de un camino
caja (círculo) Convertir un círculo en caja
caja (punto) Convertir el punto a una caja vacía
ruta (polígono) Convertir polígono en camino
polígono (camino) Convertir camino a polígono

Funciones de dirección de red

Las funciones de red son útiles cuando se trabajan con tipos de INET y CIDR. Las funciones comunes incluyen:

Función Funcionalidad
Anfitrión (INET) Devuelve la dirección IP como texto
MASKLEN (INET) Devuelve la longitud de la máscara de red
Red (INET) Devuelve la parte de red de una dirección
Familia (INET) Extraer la familia de la dirección
Netmask () Devuelve la máscara de red para la dirección
inet_same_family (inet, inet) Devuelve verdadero si ambas direcciones INET son la misma familia

Las funciones anteriores son una fracción de las funciones respaldadas por PostgreSQL.

Cómo crear funciones de usuario PostgreSQL

Hay algunos casos en los que necesita crear una función personalizada. PostgreSQL le permite crear tales funciones con nombres, parámetros y tipos de retorno.

Para crear una función en PostgreSQL, use la instrucción Crear función.

La sintaxis general para crear una función personalizada es como se muestra.

Crear function function_name (paramaters)
Devuelve data_type;
Lenguaje Procedural_Language_Type;
COMO
$$
DECLARAR
-- Declare tus variables aquí
COMENZAR
-- Código de lo que hace la función
FIN
$$

Desglosemos la sintaxis anterior paso a paso.

  1. Comenzamos usando el Crear función declaraciones seguidas del nombre de la función. El nombre de la función puede ser cualquier cosa significativa.
  2. A continuación, pasamos los parámetros de la función dentro de un par de paréntesis. El número de parámetros puede ser desde 0 hasta infinito.
  3. Dentro del bloque de funciones (indicado por la sangría, aunque no es necesario), usamos el DEVOLVER Palabra clave seguida del tipo de datos que devuelve la función.
  4. La siguiente parte define el lenguaje de procedimiento de la función, el más común de los cuales es el PLPGSQL. Otras funciones de procedimiento PostgreSQL incluyen PLTCL, PLERL, PLPYTHON.
  5. Finalmente, usamos el símbolo de signo de doble dólar para inicializar la función. Aquí es donde declaramos variables y la lógica de la función colocada dentro de los bloques de inicio y final.

Puede obtener más información sobre los idiomas de procedimiento PostgreSQL de los enlaces que se proporcionan a continuación:

  1. PLPGSQL - Lenguaje de procedimiento SQL
  2. Pltcl - Lenguaje de procedimiento TCL
  3. Plantilla - Lenguaje procesal perl
  4. Plython - Lenguaje de procedimiento de Python
  5. PL externo - Otro PL fuera de distribución de PostgreSQL

PISTA: Las funciones personalizadas en PostgreSQL son muy similares a los procedimientos. Sin embargo, a diferencia de los procedimientos, las funciones devuelven un valor.

Ejemplo de función personalizada

Ilustramos una función simple que obtiene la cantidad de elementos que coinciden con un criterio simple.

Tomemos la base de datos de Sakila, por ejemplo. Podemos obtener el número de películas cuyo valor de alquiler es de entre 2 y 4 dólares.

Una función simple es:

Crear función get_films (x int, y int)
Devuelve INT
Lenguaje plpgsql
COMO
$$
DECLARAR
num_films entero;
COMENZAR
Seleccionar recuento (*)
En num_films
De cine
Donde el alquiler_rate entre x e y;
Return num_films;
FIN;
$$

Una vez que declaramos la función, podemos llamarla y pasar los valores como:

Seleccione get_films (2, 4) como número_of_films;

Una vez que ejecutamos la consulta anterior, debemos obtener la cantidad de películas que coincidan con los criterios anteriores.

En la mayoría de los casos, no necesitará definir tales funciones porque hay otros métodos incorporados más simples para lograr dicha tarea. Siendo ese el caso, la función anterior ilustra cómo trabajar con funciones.

Conclusión

En este tutorial, ilustramos las funciones comunes de PostgreSQL para ayudar a realizar tareas de manera más eficiente. Finalmente, le mostramos cómo crear y usar funciones para requisitos personalizados.

Gracias por leer y feliz experimentar!