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:

PostgreSQL Subcadena

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:

PostgreSQL Subcadena

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:

PostgreSQL Subcadena

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:

PostgreSQL Subcadena

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:

PostgreSQL Subcadena

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:

PostgreSQL Subcadena

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:

Coincidencia de subcadenas con expresiones regulares SQL

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.

Coincidencia de subcadenas usando pgAdmin

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.

Coincidencia de subcadenas usando pgAdmin

Paso 5) La ejecución de la consulta ha finalizado.
Debería devolver lo siguiente:

Coincidencia de subcadenas usando pgAdmin

Ejemplo 2:

SELECT substring('Guru99' from 1 for 4);

Debería devolver lo siguiente:

Coincidencia de subcadenas usando pgAdmin

Aquí está el siguiente ejemplo:

SELECT substring('Guru99' from 5);

Debería devolver lo siguiente:

Coincidencia de subcadenas usando pgAdmin

Ejemplo 3:

SELECT substring('Guru99' from 5 for 2);

Debería devolver lo siguiente:

Coincidencia de subcadenas usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Coincidencia de subcadenas usando pgAdmin

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.

Coincidencia de subcadenas usando pgAdmin

Debería devolver lo siguiente:

PostgreSQL Subcadena

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.

Coincidencia de subcadenas con expresiones regulares SQL

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.

Coincidencia de subcadenas con expresiones regulares SQL

Debería devolver lo siguiente:

Coincidencia de subcadenas con expresiones regulares SQL

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

Boletín diario de Guru99

Empieza el día con las últimas y más importantes noticias sobre IA, entregadas ahora mismo.