PostgreSQL Función SUBSTRING() con ejemplo de expresiones regulares
¿Qué es PostgreSQL ¿Subcadena?
La PostgreSQL La función de subcadena le ayuda a extraer y devolver parte de una cadena. En lugar de devolver toda la cadena, sólo devuelve una parte.
Sintaxis
La PostgreSQL La función de subcadena toma la siguiente sintaxis:
substring( string [from starting_position] [for length] )
parámetros
Nombre | Descripción |
---|---|
cadena | La cadena de origen cuyo tipo de datos es varchar, char, string, etc. |
posición inicial | Es un parámetro opcional. Indica el lugar donde comenzará la extracción del hilo. Si omite este parámetro, la extracción comenzará desde la posición 1, que es el primer carácter de la cadena. |
de largo | Es un parámetro opcional. Indica 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
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 que se extraerían, 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 iniciado la extracción en la posición 5 y se han extraído 2 caracteres.
Considere la tabla de libros que se proporciona a continuación:
Queremos tener una idea aproximada del nombre de cada libro. Sin embargo, solo podemos extraer los primeros 15 caracteres de la columna de nombre de la tabla:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
El comando devolverá lo siguiente:
Ahora tenemos una idea aproximada del nombre de cada libro.
Coincidencia de subcadenas con expresiones regulares SQL
In 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)
or
SUBSTRING(string, matching_pattern);
Aquí hay una explicación de los parámetros anteriores:
La cadena es la cadena fuente cuya tipo de datos es varchar, char, cadena, etc.
El matching_pattern es el patrón que se utilizará para buscar en la cadena.
Ejemplos
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
El comando devolverá lo siguiente:
Nuestra cadena de entrada es su edad es 22. En el patrón, estamos buscando un patrón numérico en nuestra cadena, cuando lo encontramos, la función de subcadena solo debe extraer dos caracteres.
Cómo hacer coincidir subcadenas 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. Solo tienes que hacer lo siguiente:
Paso 1) Inicie sesión en su cuenta.
Inicie sesión en su cuenta pgAdmin.
Paso 2) En pgAdmin,
Haga clic en el icono de la herramienta de consulta.
Se abrirá la ventana del editor de consultas.
Paso 3) Escriba consulta.
Escriba la siguiente consulta en la ventana del editor.
SELECT substring('Guru99' for 4);
Paso 4) Ejecutar la solicitud
Haga clic en el icono Ejecutar para ejecutar la consulta.
Paso 5) La ejecución de la consulta ha finalizado.
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 Libro de la base de datos Demo:
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 Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
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 expresiones regulares SQL
Para realizar 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.
SELECT SUBSTRING ( '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 PostgreSQL La función de subcadena 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 la cantidad 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 la cantidad de caracteres que se extraerán, solo se extraerá esa cantidad de caracteres.
Descargue la Base de Datos utilizada en este Tutorial