Unidad 3. Ejercicio paso a paso: Funciones en la lista de selección


Nota: Para realizar los ejercicios, utiliza la base de datos GestionSimples.

Objetivo

Realizar consultas simples con funciones en la lista de selección.

Ejercicio paso a paso

Listar de cada empleado su código, nombre, oficina, y fecha de contrato (fecha corta).

La única dificultad es convertir la fecha de contrato completa en una fecha corta. Para eso utilizamos la función CONVERT() de la siguiente forma:

SELECT numemp, nombre, oficina, CONVERT (CHAR(8),contrato,3) AS [Fecha contrato]

FROM empleados;

Además, le hemos incluido un alias para que el título de la columna sea más descriptivo.

Resultado:

Numemp Nombre Oficina Fecha Contrato
101 Antonio Viguer 12 20/10/86
102 Alvaro Jaumes 21 10/12/86
103 Juan Rovira 12 01/03/87
104 José González 12 19/05/87
105 Vicente Pantalla 13 12/02/88
106 Luis Antonio 11 14/06/88
107 Jorge Gutiérrez 22 14/11/88
108 Ana Bustamante 21 12/10/89
109 María Sunta NULL 12/10/99
110 Juan Victor NULL 13/01/90
111 Juan Gris NULL 01/05/05
112 Julián Martorell NULL 01/05/06
113 Juan Gris NULL 01/01/07

Listar los empleados indicando código, nombre y día de la semana en que fue contratado.

En este caso, la función DATENAME() es la que calcula automáticamente el día de la semana para la fecha indicada. Tendremos que pasarle los parámetros de formato: dw (day week) y de datos: contrato.

SELECT numemp, nombre, DATENAME(dw,contrato) AS [Día de contrato]

FROM  empleados;

Resultado:

Numemp Nombre Día de contrato
101 Antonio Viguer Lunes
102 Alvaro Jaumes Miércoles
103 Juan Rovira Domingo
104 José González Martes
105 Vicente Pantalla Viernes
106 Luis Antonio Martes
107 Jorge Gutiérrez Lunes
108 Ana Bustamante Jueves
109 María Sunta Martes
110 Juan Victor Sábado
111 Juan Gris Domingo
112 Julián Martorell Lunes
113 Juan Gris Lunes

Listar de cada empleado su código, nombre y título (sustituir la abreviatura dir por la palabra completa Director).

En esta ocasión utilizaremos la función REPLACE() en que indicaremos la columna sobre la que actuará la función, el valor a modificar y el valor que lo va a substituir.

SELECT numemp, nombre, REPLACE(titulo, 'Dir ', 'Director ') AS Cargo

FROM empleados;

Fíjate que hemos remplazado el valor con un espacio al final de la palabra. Esto se debe a que, en la tabla, no aparece la palabra Dir simplemente, sino que a continuación indica el tipo de director (dir ventas). Si no insertáramos el espacio veríamos como resultado Directorventas, Directorgeneral, etc.

Resultado:

Numemp Nombre Cargo
101 Antonio Viguer representante
102 Alvaro Jaumes representante
103 Juan Rovira representante
104 José González Director ventas
105 Vicente Pantalla representante
106 Luis Antonio director general
107 Jorge Gutiérrez representante
108 Ana Bustamante Director ventas
109 María Sunta representante
110 Juan Victor representante
111 Juan Gris representante
112 Julián Martorell representante
113 Juan Gris representante

   Inicio    






.