domingo, 4 de diciembre de 2016

cuantos años tienes con SQL en LibreOffice Base (XII)

LibreOffice Base
Un trabajo rutinario de los programadores en SQL es mostrar los años que tienen los usuarios que tenemos almacenados en nuestras bases de datos. LibreOffice Base mediante una serie de funciones SQL puede mostrar este tipo de datos.

Partimos de una base de datos que tiene un campo fecha de nacimiento tipo DATE y lo hemos rellenado con variedad de valores para comprobar su buen funcionamiento.

En primer lugar vamos a mostrar el campo Nombre, Apellidos y el año de nacimiento, observe la siguiente instrucción:


SELECT "Nombre" , "Apellidos", YEAR("Fecha Nacimiento") FROM "Usuarios" 
WHERE "Población" = 'Zaragoza'

La función YEAR es encargada de devolvernos el año de nacimiento del campo Fecha Nacimiento.

Pongamos en práctica lo que hemos aprendido en LibreOffice Base, una vez abierta la base de datos donde va a trabajar, seleccione la sección de Consultas, haga clic en la opción Crear una consulta en modo SQL...

SQL y LibreOffice Base

Le mostrará el siguiente cuadro de diálogo, en este puede introducir la instrucción que acabamos de estudiar.

SQL y LibreOffice Base

Introduzca la instrucción SQL, observe que ha cambiado algunos colores de la misma, esto lo hace mas fácil de leer e identificar para el usuario, ya que destina un color para cada tipo de argumento de la instrucción en SQL.

SQL y LibreOffice Base

Haga clic en el botón Ejecutar consulta para que le muestre el resultado.  Como se ha explicado, el ejecutar la instrucción nos muestra los campos Nombre, Apellidos y el valor correspondiente al año de nacimiento extraído del campo Fecha Nacimiento.

SQL y LibreOffice Base

A continuación vamos a introducir nuevas funciones en nuestra QUERY en SQL. Calcularemos cuantos años tiene cada usuario, para ello hemos introducido la siguiente fórmula:

SELECT "Nombre" , "Apellidos", YEAR("Fecha Nacimiento"), 
YEAR(CURDATE()) - YEAR("Fecha Nacimiento")
FROM "Usuarios" WHERE "Población" = 'Zaragoza'

El cálculo de los años del usuario se hace con esta fórmula, dentro de la sentencia SELECT.

YEAR(CURDATE()) - YEAR("Fecha Nacimiento")

Se distinguen de forma clara dos partes en la fórmula, en primer lugar YEAR(CURDATE()), captura la fecha actual con la función CURDATE() del servidor y ordenador personal, esa fecha que se muestra en el escritorio del sistema operativo. Para luego extraer el año de la fecha capturada con la función YEAR(CURDATE()), como aviso a usuarios novatos,  mucho cuidado con esto, ya que si el servidor u ordenador personal tienen incorrecta la fecha, lo calculará con esta fecha.

En la segunda parte de la operación se encuentra la función YEAR("Fecha Nacimiento"), es la encargada de devolvernos el año de nacimiento del campo Fecha Nacimiento. 

Para terminar calculará la diferencia entre los dos años con: 

YEAR(CURDATE()) - YEAR("Fecha Nacimiento")

Pondremos en práctica lo que hemos aprendido en LibreOffice Base, una vez abierta la base de datos donde va a trabajar, seleccione la sección de Consultas, haga clic en la opción Crear una consulta en modo SQL...

SQL y LibreOffice Base

Le mostrará el siguiente cuadro de diálogo, en este puede introducir la instrucción que acabamos de estudiar.

SQL y LibreOffice Base

Introduzca la instrucción SQL, observe que ha cambiado algunos colores de la misma, esto lo hace mas fácil de leer e identificar para el usuario, ya que destina un color para cada tipo de argumento de la instrucción en SQL.

SQL y LibreOffice Base

Haga clic en el botón Ejecutar consulta para que le muestre el resultado. 

SQL y LibreOffice Base

Vamos a rematar el trabajo ampliando el uso de las funciones que hemos visto en los ejemplos anteriores, observe la siguiente función:

SELECT "Nombre", "Apellidos", YEAR( "Fecha Nacimiento" ), YEAR( CURDATE( ) ) - YEAR( "Fecha Nacimiento" ) FROM "Usuarios" 
WHERE YEAR( CURDATE( ) ) - YEAR( "Fecha Nacimiento" ) > 40

Hemos realizado algunas modificaciones, en la partícula WHERE hemos colocado el siguiente filtro:

 YEAR( CURDATE( ) ) - YEAR( "Fecha Nacimiento" ) > 40 

Con este filtro conseguiremos seleccionar los usuarios que tengan mas de 40 años de edad. Hemos repetido la instrucción que habíamos explicado y añadido un operador lógico con un valor, > 40. 

Realizaremos una nueva práctica con lo que hemos aprendido en LibreOffice Base, una vez abierta la base de datos donde va a trabajar, seleccione la sección de Consultas, haga clic en la opción Crear una consulta en modo SQL...

SQL y LibreOffice Base

Le mostrará el siguiente cuadro de diálogo, en este puede introducir la instrucción que acabamos de estudiar.

SQL y LibreOffice Base

Introduzca la instrucción SQL, observe que ha cambiado algunos colores de la misma, esto lo hace mas fácil de leer e identificar para el usuario, ya que destina un color para cada tipo de argumento de la instrucción en SQL.


Haga clic en el botón Ejecutar consulta para que le muestre el resultado. 

 

0 comentarios:

Publicar un comentario