¿Qué es la subcadena de PostgreSQL?
La función de subcadena de PostgreSQL le ayuda a extraer y devolver parte de una cadena. En lugar de devolver la cadena completa, solo devuelve una parte.
En este tutorial de PostgreSQL, aprenderá:
- ¿Qué es la subcadena de Postgresql?
- Sintaxis
- Ejemplos de
- Coincidencia de subcadenas con expresión regular SQL
- Usando pgAdmin
Sintaxis
La función de subcadena de PostgreSQL tiene la siguiente sintaxis:
substring( string [from starting_position] [for length] )
Parámetros
Nombre | Descripción |
cuerda | La cadena de origen cuyo tipo de datos es varchar, char, string, etc. |
posición inicial | Es un parámetro opcional. Denota el lugar donde comenzará la extracción de la cuerda. Si omite este parámetro, la extracción comenzará desde la posición 1, que es el primer carácter de la cadena. |
largo | Es un parámetro opcional. Denota el número de caracteres que se extraerán de la cadena. Si omite este parámetro, la función extraerá desde posición_inicial hasta el final de la cadena. |
Ejemplos de
En este ejemplo, queremos extraer los primeros 4 caracteres de la palabra Guru99:
SELECT substring('Guru99' for 4);
El comando devolverá lo siguiente:
No especificamos la posición inicial, por lo que la extracción de la subcadena comienza en la posición 1. Se extrajeron 4 caracteres para devolver lo anterior.
El siguiente ejemplo muestra cómo especificar la posición inicial:
SELECT substring('Guru99' from 1 for 4);
El comando devolverá lo siguiente:
Especificamos que la extracción de la subcadena debe comenzar desde la posición 1 y se deben extraer 4 caracteres.
Extraigamos 99 de la cadena Guru99:
SELECT substring('Guru99' from 5);
El comando devolverá lo siguiente:
Especificamos la posición inicial como 5. Dado que no se especificó el número de caracteres a extraer, la extracción se realizó hasta el final de la cadena.
Aquí hay otro ejemplo:
SELECT substring('Guru99' from 5 for 2);
El comando devolverá lo siguiente:
Hemos comenzado la extracción en la posición 5 y se han extraído 2 caracteres.
Considere la tabla de libros que se muestra a continuación:
Queremos tener una idea aproximada del nombre de cada libro. Sin embargo, podemos extraer solo los primeros 15 caracteres de la columna de nombre de la tabla:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
El comando devolverá lo siguiente:
Ahora tenemos una idea aproximada del nombre de cada libro.
Coincidencia de subcadenas con expresión regular SQL
En PostgreSQL, podemos extraer una subcadena que coincida con una expresión regular POSIX especificada. En este caso, la función de subcadena se utiliza con la siguiente sintaxis:
SUBSTRING(string FROM matching_pattern)
o
SUBSTRING(string, matching_pattern);
Aquí hay una explicación de los parámetros anteriores:
La cadena es la cadena de origen cuyo tipo de datos es varchar, char, cadena, etc.
Matching_pattern es el patrón que se utilizará para buscar en la cadena.
Ejemplos:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
El comando devolverá lo siguiente:
Nuestra cadena de entrada tiene 22 años. En el patrón, estamos buscando un patrón numérico en nuestra cadena cuando se encuentra, la función de subcadena solo debe extraer dos caracteres.
Usando pgAdmin
Ahora veamos cómo se realizan las acciones usando pgAdmin.
Las consultas anteriores en las que no necesitamos una base de datos se pueden ejecutar directamente desde la ventana del editor de consultas. Simplemente haz lo siguiente:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2) Haga clic en el icono de la Herramienta de consulta.
Se abrirá la ventana del editor de consultas.
Paso 3) Escriba la siguiente consulta en la ventana del editor.
SELECT substring('Guru99' for 4);
Paso 4) Haga clic en el icono Ejecutar para ejecutar la consulta.
Debería devolver lo siguiente:
Ejemplo 2:
SELECT substring('Guru99' from 1 for 4);
Debería devolver lo siguiente:
Aquí está el siguiente ejemplo:
SELECT substring('Guru99' from 5);
Debería devolver lo siguiente:
Ejemplo 3:
SELECT substring('Guru99' from 5 for 2);
Debería devolver lo siguiente:
Ahora, ejecutemos el ejemplo usando la tabla Book de la base de datos de demostración:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demo.
Paso 3) Escriba la consulta en el editor de consultas:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Ahora tenemos una idea básica del nombre de cada libro.
Coincidencia de subcadenas con expresión regular SQL
Para lograr lo mismo en pgAdmin, haga lo siguiente:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2) Haga clic en el icono de la Herramienta de consulta.
Se abrirá la ventana del editor de consultas.
Paso 3) Escriba la siguiente consulta en la ventana del editor.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Paso 4) Haga clic en el icono Ejecutar para ejecutar la consulta.
Debería devolver lo siguiente:
Resumen:
- La función Substring de PostgreSQL ayuda a extraer y devolver solo una parte de una cadena.
- El primer carácter de la cadena está en la posición 1.
- Si no se especifica el número de caracteres que se extraerán de la cadena, la función extraerá caracteres desde la posición inicial especificada hasta el final de la cadena.
- Si se especifica el número de caracteres que se extraerán, solo se extraerá ese número de caracteres.
Descargue la base de datos utilizada en este tutorial