Funciones SUBSTR e INSTR para string en SQL

| Última modificación: 11 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Las funciones SUBSTR e INSTR para string en SQL son elementos realmente importantes para el desarrollo de programas que incluyan el trabajo, la realización y la consulta con bases de datos. Ambas son solo un par de todas las funciones que existen dentro del repertorio de SQL, pues hay muchas tareas que deben instaurarse dentro de distintos datos para cumplir con los objetivos generales de un programa. Así pues, a continuación te contaremos en qué consisten las funciones substr e instr para string en SQL.

Substr e instr para string en SQL

Para transformar los datos y llegar a cumplir con los objetivos de un programa de bases de datos con SQL, conocer qué son substr e instr para string en SQL es primordial, pues te abre las puertas para realizar nuevos procesos dentro de un solo conjunto de datos. Este es el caso de los nuevos comandos sobre los que hablaremos hoy: las sentencias de substr e instr para string en SQL.

Obtener una porción de la cadena con SUBSTR

En primer lugar, en muchas ocasiones, mientras se realiza un trato con datos de una base, es posible que necesites sacar solo una porción de datos y realizar una nueva cadena. Para ello, podrás utilizar la sentencia de SUBSTR, con la que, junto con otras observaciones, podrás sacar los elementos que necesites para el desarrollo de tus programas.

Hay dos sintaxis que podrás utilizar para obtener una porción de la cadena: SUBSTR (cadenaoniciolongitud) y SUBSTR (cadena FROM inicio FOR longitud).

Ejemplo con la sentencia SUBSTR

Para que te quede claro cómo funcionan ambas sintaxis de SUBSTR dentro de un ejercicio práctico real, te traemos un ejercicio con el que hemos trabajado en otros artículos de nuestro blog: una base de datos sobre Los Simpson. Aquí veremos las diferentes maneras en las que se puede sustraer una serie de cadenas relacionadas con la descripción de los personajes de la serie animada.

USE SPRINGFIELD;

. SUBSTR (DESC_PERSONAJE, 5) DESC_PERSONAJE2

. SUBSTR (DESC_PERSONAJE, FROM 5) DESC_PERSONAJE2B

. SUBSTR (DESC_PERSONAJE, 1, 5) DESC_PERSONAJE3

. SUBSTR (DESC_PERSONAJE, FROM 1 FOR 5) DESC_PERSONAJE3B

. SUBSTR (DESC_PERSONAJE, -5) DESC_PERSONAJE4

. SUBSTR (DESC_PERSONAJE, FROM 5) DESC_PERSONAJE4B

FROM PERSONAJE;

Una vez ejecutada esta serie de sentencias, podrás visualizar la siguiente tabla con los diferentes datos modificados:

DESC_PERSONAJEDESC_PERSONAJE2DESC_PERSONAJE2BDESC_PERSONAJE3DESC_PERSONAJE3BDESC_PERSONAJE4DESC_PERSONAJE4B
Homer Simpsonr Simpsonr SimpsonHomerHomermpsonmpson
Lisa SimpsonSimpsonSimpsonLisaLisampsonmpson
Marge Simpsone Simpsone SimpsonMargeMargempsonmpson
Maggie Simpsonie Simpsonie SimpsonMaggiMaggimpsonmpson
Bart SimpsonSimpsonSimpsonBartBartmpsonmpson

Obtener desde una posición con INSTR

Ahora bien, hay una sentencia que podemos integrar con las tareas que venimos realizando con la anterior. Esta es la sentencia INSTR. Esta se encarga de devolver una subcadena desde una posición preestablecida en la instrucción que se realice. Es decir, además de obtener una subcadena, puedes posicionarla desde el sitio que requieras con la sentencia de INSTR.

De esta manera, la sintaxis general de INSTR es: INSTR (cadena1cadena2).

Ejemplo con la sentencia INSTR

Al igual que con el objeto anterior, utilizaremos el mismo ejercicio práctico acerca de Los Simpson. En este caso, vamos a establecer la sentencia INSTR para conocer la posición del espacio del nombre de los personajes. Después, lo utilizaremos junto a la sentencia SUBSTR para obtener la subcadena desde el espacio.

SELECT DESC_PERSONAJE

.INSTR (DESC_PERSONAJE, ‘ ‘) POS_ESPACIO

.SUBSTR (DESC_PERSONAJE, INSTR (DESC_PERSONAJE, ‘ ‘) ) DESC_PERSONAJE2

.SUBSTR (DESC_PERSONAJE, INSTR (DESC_PERSONAJE, ‘ ‘) +1 ) DESC_PERSONAJE3

Una vez ejecutada esta serie de instrucciones, podrás encontrarte con la siguiente tabla:

DESC_PERSONAJEPOS_ESPACIODESC_PERSONAJE2DESC_PERSONAJE3
Homer Simpson8 ( )Simpson Simpson
Lisa Simpson6 ( )Simpson Simpson
Marge Simpson5 ( )Simpson Simpson
Maggie Simpson7 ( )Simpson Simpson
Bart Simpson5 ( )Simpson Simpson

Gracias a este artículo y a tu atención sobre el tema, has aprendido acerca de las funciones substr e instr para string en SQL. No obstante, aún queda un largo camino de aprendizaje por recorrer. Por eso, antes de que te pongas a ejecutar lo aprendido, queremos invitarte a que revises el temario de nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¡Anímate a preguntar para convertirte en un experto!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado