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 (cadena, onicio, longitud) 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_PERSONAJE | DESC_PERSONAJE2 | DESC_PERSONAJE2B | DESC_PERSONAJE3 | DESC_PERSONAJE3B | DESC_PERSONAJE4 | DESC_PERSONAJE4B |
Homer Simpson | r Simpson | r Simpson | Homer | Homer | mpson | mpson |
Lisa Simpson | Simpson | Simpson | Lisa | Lisa | mpson | mpson |
Marge Simpson | e Simpson | e Simpson | Marge | Marge | mpson | mpson |
Maggie Simpson | ie Simpson | ie Simpson | Maggi | Maggi | mpson | mpson |
Bart Simpson | Simpson | Simpson | Bart | Bart | mpson | mpson |
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 (cadena1, cadena2).
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_PERSONAJE | POS_ESPACIO | DESC_PERSONAJE2 | DESC_PERSONAJE3 |
Homer Simpson | 8 | ( )Simpson | Simpson |
Lisa Simpson | 6 | ( )Simpson | Simpson |
Marge Simpson | 5 | ( )Simpson | Simpson |
Maggie Simpson | 7 | ( )Simpson | Simpson |
Bart Simpson | 5 | ( )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!