Base de datos, Funciones, Funciones de Cadena, PostgreSQLBase de datos, Funciones de Cadena, Funciones PostgreSQL, PostgreSQL
La función SUBSTRING en PostgreSQL te permite obtener parte de una cadena indicando desde donde debe empezar y cuantos caracteres te debe devolver. Esta función esta englobada en las denominadas funciones de cadena.
Sintaxis
Escribe la siguiente sintaxis para utilizarlo:
SUBSTRING ( cadena ,posicion_inicio , longitud )
- SUBSTRING: es el nombre de la función.
- cadena: cadena de la que se quiere extraer una parte.
- posicion_inicio: posición donde debe empezar a extraer (empieza desde la posición 1).
- longitud: cantidad de caracteres que debe extraer desde que empieza.
Ejemplo
Extraer parte de una cadena
En el siguiente ejemplo puedes observar como extraemos el apellido de la cadena ‘Miguel Troyano’ indicándole que empiece a extraer desde la posición 8. Si no se le indica donde debe acabar (la longitud) extraerá hasta el final de la cadena:
SELECT SUBSTRING ('Miguel Troyano' , 8), SUBSTRING ('Miguel Troyano' , 8,7);

Extraer parte de una cadena de un campo
En el siguiente ejemplo extraemos la inicial del campo nombre de la tabla empleados:
SELECT nombre, SUBSTRING (nombre , 1, 1) INICIAL FROM empleados;

Extraer parte de una cadena con una expresión regular
En el siguiente ejemplo extraemos de la cadena ‘Vivo en el número 100’ los número gracias a la expresión regular escrita:
SELECT SUBSTRING ('Vivo en el número 100','([0-9]{1,3})') as Número;
- ‘Vivo en el número 100’: cadena de donde se van a extraer los números.
- [0-9]: le indicamos que debe buscar del cero al nuevo.
- {1,3}: como minimo debe contener una coincidencia y máximo 3. Si el máximo fuese menor al resultado lo truncaría.
