SQL básico. Funciones sobre cadenas de texto.

En esta sección veremos las funciones que se usan con cadenas de texto más comunes en sentencias SQL. Hay que notar que cada motor de base de datos implementa a veces sus propias funciones y con diferentes nombres. Veremos las más estandarizadas.

Antes de continuar veremos como trabajar directamente con literales, también llamadas constantes, en una sentencia SQL sin recurrir a un campo o columna de una tabla. Escribe y ejecuta el siguiente ejemplo:

Literales en un SELECT.

Como puedes observar, en la sentencia SELECT anterior no usamos ninguna tabla, no especificamos la cláusula FROM, por lo tanto no obtenemos los valores de columnas, si no que los valores los escribimos directamente en la instrucción SELECT. A estos valores escritos directamente se les llama “literales” o “constantes”. Ahora observa los resultados, muestra una sola fila con los valores literales o constantes que escribimos. Las literales texto (TEXT) se encierran entre comillas sencillas mientras que los numéricos se escriben tal cual.

Observa el encabezado de los resultados, los nombres de la columnas son una copia de las literales. Cuando usamos los campos de una tabla, por defecto coloca los nombres de las columnas como hemos visto hasta ahora en todos los ejemplos que hemos hecho. Existe una forma de cambiar el nombre de las columnas en los resultados y es lo que veremos enseguida.

Usando alias en una sentencia SQL.

Un alias es un nombre o apodo que le damos a nuestras columnas o tablas en una sentencia SQL para cambiar el nombre por defecto de estas.

Para columnas o literales usamos la siguiente sintaxis:

expresión AS alias-columna

Para tablas:

nombre-tabla AS alias-tabla

Volvamos a escribir el ejemplo que vimos anteriormente pero ahora asignándole un nombre o alias a las columnas:

Literales en un SELECT con ALIAS.

Observa ahora los encabezados de las columnas de los resultados, aparecen los nombres que le indicamos: texto y numero. Los nombres de los alias pueden contener espacios, pero para ello tenemos que ponerlos entre comillas dobles. Escribe y ejecuta el siguiente ejemplo:

Nombres de alis con espacios.

Observa que el alias “El texto” tiene un espacio, pero para ello lo tuvimos que encerrar entre comillas dobles. Si no lo hiciéramos, al ejecutar la sentencia, marcaría error.

A las columnas de una tabla también le podemos asignar alias. Escribe y ejecuta la siguiente sentencia:

Asignando alias a las columnas de columnas de una tabla.

Observa que a las columnas “id_producto”, “id_marca” e “id_categoria” les asignamos los alias o nombres “producto”, “marca” y “categoria” respectivamente.

Para ejemplificar las funciones vamos a utilizar literales o constantes. Pero las funciones igualmente funcionan con columnas de una tabla.

Funciones SQL sobre cadenas de texto.

Función SQL UPPER().

Convierte la cadena de texto o texto a letras mayúsculas.

Sintaxis: UPPER(expresión-texto)

Recuerda que expresión-texto puede ser una literal o el nombre de una columna de una tabla la cual se quiere convertir a mayúsculas.

Ejecuta la siguiente instrucción y observa el resultado:

Función UPPER().

Función SQL LOWER().

Convierte el texto a minúsculas.

Sintaxis: LOWER(expresión-texto)

Ejecuta el siguiente ejemplo y observa el resultado:

Función LOWER().

Función SQL SUBSTRING().

Extrae una parte del texto.

Sintaxis: SUBSTRING(expresión-texto, a-partir-del-caracter, número-de-caracteres)

Ejecuta el ejemplo y revisa el resultado:

Función SUBSTRING().

En el ejemplo anterior, la función extrae del texto dado una parte de él, a partir del caracter en la posición 1, contando de izquierda a derecha y empezando a contar desde 1, en este caso la letra “p”, y a partir de ahí contando 7 caracteres a la derecha.

Si no se especifica el tercer parámetro de la función es decir, el “número-de-caractares“, entonces extrae “a-partir-del-caracter” y hasta el final del texto. Observa el ejemplo que extrae desde la posición 9 hasta el final del texto:

Función SUBSTRING() sin el tercer parámetro.

Función SQL LENGTH().

Obtiene la longitud (número de caracteres) del texto.

Sintaxis: LENGTH(expresión-texto)

Ejemplo:

Función LENGTH().

Los espacios también cuentan como caracteres.

Función SQL INSTR().

Busca o localiza la primera ocurrencia, de izquierda a derecha, de un texto dentro de otro texto y regresa el número de caracteres anteriores más uno o cero si no encuentra ninguna ocurrencia del texto a buscar.

Sintaxis: INSTR(texto, texto-a-localizar)

Veamos un ejemplo:

Función INSTR().

En el ejemplo, el texto a localizar “ext” se encuentra en la posición 11 del texto “palabra a extraer”. Si el texto a localizar no se encontrara en el texto, la función regresa un cero (0). Ejemplo:

Función INSTR() texto no encontrado.

Función SQL TRIM().

Remueve blancos o los caracteres especificados de ambos lados de un texto, sólo los espacios o caracteres de los extremos, y regresa el texto resultante.

Sintaxis: TRIM(texto, caracteres-a-remover)

Si el segundo parámetro, caracteres-a-remover, se omite, se remueve por defecto los caracteres espacio o blancos a ambos lados del texto. Veamos dos ejemplos:

Función TRIM() quitando espacios.
Función TRIM() quitando caracteres.

En el primer ejemplo de la función TRIM() omitimos el segundo parámetro de la función, por lo tanto la función remueve todos los espacios a la extrema derecha e izquierda del texto dado. Observe que no remueve los espacios intermedios, sólo los de los extremos. En los resultados se muestran tanto el texto con espacios removidos como el texto original.

En el segundo ejemplo incluimos el segundo parámetro, que son los caracteres que queremos remover de los extremos del texto dado. En este caso queremos remover todos los caracteres “+” (más) y “-” menos o guión. en los resultados se muestra el texto resultante.

Función SQL REPLACE().

Regresa un texto resultante de la sustitución de cada ocurrencia de un texto buscado dentro de un texto por un texto de reemplazo.

Sintaxis: REPLACE(texto, texto-a-reemplazar, texto-de-reemplazo);

Si el parámetro texto-de-reemplazo es un texto vacío (”), el texto-a-reemplazar se sustituye por nulos (nada). Observa los siguientes ejemplos:

Función REPLACE().
Función REPLACE() con texto vacío.

En el primer ejemplo, todas las letras o en el texto “Texto original” son sustituidas por la letra a. El el segundo ejemplo las letras o son eliminadas y no son sustituidas por nada ya que se especifica como reemplazo un texto vacío.

Función de concatenación.

Muchos motores de base de datos tienen la función CONCAT() para concatenar o unir textos, SQLite no implementa dicha función, en su lugar utiliza el operador de concatenación “||” (dos barras verticales).

Syntaxis: texto || texto

Escribe y ejecuta los siguientes ejemplos:

Concatenando dos textos.
Concatena tres textos.

En el primer ejemplo concatenamos dos literales textos, en el segundo ejemplo, se concatenan tres literales textos.

Nota: recuerda que en todas las funciones anteriormente vistas los textos literales o constantes que usamos pueden ser reemplazados por columnas o campos de una tabla.

En la siguiente sección veremos la funciones SQL aplicadas a números o matemáticas más usadas.

¡Hasta pronto!

0 opiniones sobre “SQL básico. Funciones sobre cadenas de texto.

Deja un comentario