Sei sulla pagina 1di 3

academy .oracle.

com

Programación de Bases de Datos con SQL


4-3: Funciones de Fecha
Actividades de Práctica

Objetivos
• Seleccionar y aplicar las funciones de una sola fila MONTHS_BETWEEN,
ADD_MONTHS, NEXT_DAY, LAST_DAY, ROUND y TRUNC que funcionan en los
datos de fecha
• Explicar cómo transforman las funciones de fecha las fechas de Oracle en datos de
fecha o en valores numéricos
• Mostrar un uso adecuado de los operadores aritméticos con fechas
• Mostrar el uso de SYSDATE y las funciones de fecha
• Establecer las consecuencias de que los negocios de todo el mundo puedan
manipular fácilmente los datos almacenados en formato de fecha

Terminología
Identifique el término para cada una de las siguientes definiciones.

SYSDATE Una función de fecha que devuelve la fecha y hora actuales del
servidor de base de datos.

ADD_MONTH Agregar meses de calendario a fecha

LAST_DAY Último día del mes

NEXT_DAY Día posterior a la fecha especificada

MONTHS_BETWEEN Número de meses entre dos fechas de vencimiento

Inténtelo/Resuélvalo

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden
ser marcas comerciales de sus respectivos propietarios.
2

1. Para DJs on Demand, muestre el número de meses entre event_date de la boda de Vigil
y la fecha actual. Redondee al mes más cercano.

SELECT event_date,
ROUND(MONTHS_BETWEEN(SYSDATE, event_date)) AS Evento,
ROUND(event_date,'Month')
FROM D_events;
2. Muestre los días entre el inicio de las vacaciones escolares del verano pasado y el día
que comienza la escuela este año. Suponga que cada mes tiene 30,5 días. Asigne a la
salida el nombre “Days”.

SELECT ROUND(MONTHS_BETWEEN('13-Jul-2020','15-Jul-2019')*30.5,2) AS Days


FROM Dual;

3. Muestre los días entre el 1 de enero y el 31 diciembre.

SELECT ROUND(MONTHS_BETWEEN('01-Dec-2020','01-Jan-2020')*30.5,2) AS Days


FROM Dual;

4. Mediante una sentencia, redondee la fecha de hoy al mes y al año más cercanos y
trúnquela al mes y al año más cercanos. Utilice un alias para cada columna.

SELECT ROUND(sysdate,'Month') AS Redondear_Mes,


ROUND(sysdate,'Year') AS Redondear_Año,
TRUNC(sysdate,'Month') AS Trunc_Mes,
TRUNC(sysdate,'Year') AS Trunc_Año
FROM Dual;

5. ¿Cuál es el último día del mes de junio de 2005? Utilice un alias para la salida.

SELECT LAST_DAY('01-Jun-2005') AS Ultimo_dia


FROM Dual;

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden
ser marcas comerciales de sus respectivos propietarios.
3

6. Muestre el número de años entre la fecha de nacimiento del empleado de Global Fast
Foods Bob Miller y la fecha actual. Redondee al año más cercano.

SELECT ROUND(MONTHS_BETWEEN(sysdate,BIRTHDATE)/12) AS Año_Nac


FROM f_staffs;

7. Su próxima cita con el dentista es en seis meses a partir de hoy. ¿Qué día irá al
dentista? Asigne a la salida el nombre “Appointment”.
SELECT ADD_MONTHS(sysdate,6) AS Apoinmtment
FROM DUAL;

8. El profesor le ha avisado de que dispone hasta el último día de este mes para entregar el
informe de investigación. ¿Qué día es? Asigne a la salida el nombre “Deadline”.
SELECT LAST_DAY(sysdate) AS DeadLine
FROM DUAL;

9. ¿Cuántos meses hay entre su día de cumpleaños de este año y el 1 de enero del
próximo año?
SELECT MONTHS_BETWEEN('01-Jan-2021','08-Jun-2020') AS birthdate
FROM DUAL;

10. ¿Qué fecha es el viernes siguiente a su cumpleaños de este año? Asigne a la salida el
nombre “First Friday”.
SELECT NEXT_DAY('08-Jun-2020','FRIDAY') AS FRIDAY
FROM DUAL;

11. Asigne un nombre a una función de fecha que devuelva un número.

SELECT MONTHS_BETWEEN('08-Jun-2020',SYSDATE) AS FECHA_num


FROM DUAL;
12. Asigne un nombre a una función de fecha que devuelva una fecha.
SELECT SYSDATE
FROM DUAL;

13. Proporcione un ejemplo de por qué es importante que las compañías puedan manipular
los datos de fecha.
Son importante sobre todo al momento de generar un reporte o un registro de
algún producto o suceso en particular, y de esa manera facilitar el proceso de
registro o de evidencia acorde a una fecha especifica

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden
ser marcas comerciales de sus respectivos propietarios.

Potrebbero piacerti anche