Funciones SQL

Son sentencias que nos permiten realizar operaciones más o menos complicadas. SQL dispone de diversas funciones útiles para la suma, resta, etc,. Las funciones son propias de cada base de datos y si bien existe un conjunto estándar, cada producto implementa las suyas propias. No esta de más revisar la documentación para ver las funciones disponibles de nuestra base de datos.

SUM

Esta función se utiliza para devolver la suma de todos los valores de un campos determinado.

Sintaxis:

Donde:

  • columna.- Columna desde donde se sumaran los valores.

Ejemplo:

Obtener el total de puntos

Realizar cálculos más complejos con otros operadores.

Vemos que la EDAD_MEDIA la representa como un entero sin decimales, ya que, el campo EDAD es un entero. Veamos la función que convierte un entero en decimal o viceversa.

CAST

Modifica el tipo de una columna o un cálculo entre varias columnas.

Sintaxis:

Donde:

  • valor.- Tipo que vamos a modificar (columna o cálculos).
  • tipo.- Tipo al que se convertirá sin especificar longitud.

Ejemplo:

Modificaremos el ejemplo anterior para que nos muestre el resultado con decimales.

Vemos resaltada la línea que se modificó añadiendo la función cast.

En este caso se ha calculado correctamente la edad media.

MIN y MAX

Calcula la cantidad mínima y máxima de un conjunto de valores.

Sintaxis:

Donde:

  • columna.- Es la columna desde donde calcularemos el mínimo o el máximo.

Ejemplo:

Ejercicio:

  • Modifica el código de arriba para que muestre en la tabla las columnas igual que la imagen de abajo:

Manipulación de texto

Entre las funciones de manipulación de texto podemos destacar las siguientes upper y lower que modifican un texto convirtiéndolo en mayúsculas o minúsculas respectivamente.

Sintaxis:

Donde:

  • columna.- Es la columna cuyo texto queremos modificar.

Ejemplos:

Vemos que el nombre de dichos clientes aparecen en minúsculas. Para SQLite las letras mayúsculas son distintas a las minúsculas si realizamos una búsqueda con el texto totalmente en minúscula…

… ya que los nombres contiene la primera letra del nombre en mayúscula así como la primera letra de los apellidos.

substr

Esta función nos permite extraer un trozo de cadena de texto. SU sintaxis es:

Donde:

  • texto.- Texto o columna sobre la que se va a aplicar la función.
  • inicio.- Posición de inicio para obtener la porción del texto. Si empezamos por la izquierda el número de la posición será positivo, en cambio, si queremos que empiece por la derecha deberemos poner el número en negativo.

  • tamaño.- número de letras a recoger a partir del inicio. Si es una cifra positiva contará hacia la derecha, lo contrario si es negativa. Si omitimos este parámetro SQLite extraerá todas las letras desde la posición de inicio hasta el final.

Ejemplos:

Desde la tercera posición recogemos un carácter.

En inicio hemos colocado un número negativo para que empiece a partir de la derecha a contar. Este ejemplo saca la letra del DNI.

En este caso desde la cuarta posición no leerá ninguna letra.

Leemos dos letras anteriores a la situada en tercera posición.

Sacando desde la tercera letra hasta el final.

Unir textos

Esta función nos permite unir textos en una sola variable. SQLite no existe una función específica. En su ligar podemos utilizar el operador «||«.

Ejemplo:

Vemos que entre los operadores hay un espacio entre las comillas simple (||’ ‘||) que servirá de separador entre el NOMBRE y los APELLIDOS..

Mostrar primero los apellidos, una coma (,) y el nombre:

Un par de prácticas:

  • Haz una consulta de manera que presente La inicial del nombre, un punto y los apellidos del socio número 200:
  • Haz una consulta que nos muestre los apellidos, un punto (.) con espacio de separación y la primera letra del nombre junto con su DNI del socio número 200.