You are on page 1of 9

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

SEMESTRE ABRIL 2018 – AGOSTO 2018

TAREA No. 5

IDENTIFICACION
Facultad: Informática y Electrónica

Carrera: Ingeniería En Electrónica, Telecomunicaciones Y Redes

Materia: Base de Datos

Semestre: Cuarto

Paralelo: A

Docente: Ing. Blanca Hidalgo

Integrantes: NEYCER RAFAEL ANCHUNDIA SANCHEZ

Fecha: JUEVES 04 DE JULIO DEL 2018

Revisado
Calificación
TEMA:
OBJETIVO GENERAL

• Aprender y comprender las funcionalidades de las fechas en SQL server

OBJETIVOS ESPECÍFICOS
• Entender el funcionamiento de las fechas en SQL server
● Conocer la estructura de funcionamiento de cada fecha en general.
● Saber los tipos de fechas aun existentes.
MARCO TEÓRICO

FUNCIONES DE FECHA Y HORA

Permiten el manejo de datos tipo fecha y hora.

- Fecha y Hora del sistema


SYSDATETIME — Fecha y Hora del Servidor
GETDATE — Obtiene la fecha del Servidor

- Fecha en partes
DateName — Nombre de parte de la fecha determinada
DataPart — Parte de la fecha
Day — El número de día del mes
Month — El número del mes
Year — El año de una fecha

- Añadir y obtener lapsos entre fechas.


DateDiff — Diferencia entre dos fechas
DATEADD — Añade partes de fecha a una fecha determinada
- Obtener si el dato es fecha o no
IsDate — Verdadero si es dato es de tipo fecha
Partes de fecha
Las partes de la fecha son abreviaturas que permiten especificar que parte de
la fecha u hora se desea trabajar u obtener.

ESTRUCTURAS
1. Para obtener el día de hoy.

SELECT GETDATE() 'Hoy'

2. Para obtener el día de ayer.

SELECT DATEADD(d,-1,GETDATE()) 'Ayer'

3. Inicio del día actual.

SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0) 'Inicio de este día'

4. Fin del día actual

SELECT DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE()),1)) 'Fin de


este día'
5. Inicio de ayer.

SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),-1) 'Inicio de ayer'

6. Fin de ayer.

SELECT DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)) 'Fin de


ayer'

7. Primer día de la semana actual.

SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0) 'Primer día de la semana


actual'

8. Último día de la semana actual.

SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),6) 'Último día de la semana


actual'

9. Primer día de la semana pasada.

SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0) 'Primer día de la semana


pasada'

10. Último día de la semana pasada.

SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6) 'Último día de la semana


pasada'

11. Primer día del mes actual.

SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0) 'Primer día del mes


actual'

12. Último día del mes actual.

SELECT DATEADD(ms,-
3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0))) 'Último
día del mes actual'

13. Primer día del mes pasado.

SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
'Primer día del mes pasado'

14. Último día del mes pasado.


SELECT DATEADD(ms,-
3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))) 'Último
día del mes pasado'

15. Primer día de este año.

SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0) 'Primer día de este año'

16. Último día de este año.

SELECT DATEADD(ms,-
3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0))) 'Último día
de este año'

17. Primer día del año pasado.

SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)) 'Primer


día del año pasado'

18. Último día del año pasado.

SELECT DATEADD(ms,-
3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))) 'Último día del
año pasado'

19. Primer día del próximo mes.

SELECT DATEADD(mm,1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
'Primer día del próximo mes'

20. Último día del próximo mes.

SELECT DATEADD(ms,-
3,DATEADD(mm,DATEADD(mm,(DATEDIFF(mm,0,GETDATE()),0))) 'Último día
del próximo mes

21. OBTENER FECHA Y HORA CON UTC DEL SISTEMA


Sintaxis: GETUTCDATE()

SELECT GETUTCDATE();

22. SUMAR FECHAS


Sintaxis: DATEADD(parte de fecha, numero, fecha)

-- SUMA 45 MINUTOS A LA FECHA Y HORA ACTUAL


SELECT DATEADD(minute, 45, GETDATE());
select dateadd(day,3,'1980/11/02');
retorna "1980/11/05", agrega 3 días.

select dateadd(month,3,'1980/11/02');
retorna "1981/02/02", agrega 3 meses.

select dateadd(hour,2,'1980/11/02');
retorna "1980/02/02 2:00:00", agrega 2 horas.

select dateadd(minute,16,'1980/11/02');
retorna "1980/02/02 00:16:00", agrega 16 minutos.

23. DIFERENCIAS ENTRE FECHAS


Sintaxis: DATEDIFF(parte de fecha, fecha inicial, fecha final)

-- RETORNA LA DIFERENCIA EN DIAS DESDE EL 03 DE MAYO DEL 84 HASTA


LA FECHA
SELECT DATEDIFF(day, '03/05/1984', GETDATE());

select datediff (day,'2005/10/28','2006/10/28');


retorna 365 (días).

select datediff(month,'2005/10/28','2006/11/29');
retorna 13 (meses).

24. PARTE DE LA FECHA EN FORMATO DE CADENA DE TEXTO


Sintaxis: DATENAME(parte de fecha, fecha)

-- RETORNA EL DIA DE LA SEMANA DE LA FECHA ACTUAL, EJEMPLO:


DOMINGO, LUNES, MARTES, ETC.
SELECT DATENAME(dw, GETDATE());

retorna el nombre de una parte específica de una fecha. Los valores para
"partedefecha" pueden ser los mismos que se explicaron anteriormente.
Ejemplos:

select datename(month,getdate());
retorna el nombre del mes actual;

select datename(day,getdate());

25. OBTENER EL DÍA DE UNA FECHA


Sintaxis: DAY(fecha)

-- RETORNA EL DÍA DE UNA FECHA


SELECT DAY(GETDATE());
26. OBTENER EL MES DE UNA FECHA
Sintaxis: MONTH(fecha)

-- RETORNA EL MES DE UNA FECHA


SELECT MONTH(GETDATE());

27. OBTENER EL AÑO DE UNA FECHA


Sintaxis: YEAR(fecha)

-- RETORNA EL AÑO DE UNA FECHA


SELECT YEAR(GETDATE());

28. OBTENER UNA PARTE DE UNA FECHA


Sintaxis: DATEPART(parte de fecha, fecha)

-- RETORNA EL AÑO DE UNA FECHA


SELECT DATEPART(year, GETDATE());

Retorna la parte específica de una fecha, el año, trimestre, día, hora, etc.

Los valores para "partedefecha" pueden ser: year (año), quarter (cuarto), month
(mes), day (dia), week (semana), hour (hora), minute (minuto), second
(segundo) y millisecond (milisegundo). Ejemplos:

select datepart(month,getdate());
retorna el número de mes actual;

select datepart(day,getdate());
retorna el día actual;

select datepart(hour,getdate());
retorna la hora actual;

EJEMPLOS
— Fecha y hora del sistema
select getdate() As ‘Fecha Actual’, SYSDATETIME() As ‘Fecha Sistema’

— Año, nombre del mes y nombre del día


select DATENAME(yy,Getdate()) As Año ,DATENAME(mm,Getdate()) As
Mes,DATENAME(dw,Getdate()) As Día

— Día del mes y día del año (hasta 365)


select DATENAME(dd,Getdate()) As ‘Día del mes’, DATENAME(dy,Getdate()) As
‘Día del año’

— Semana del año (De 1 a 52) y número de día de la semana


select DATEPART(wk,’16/11/1996′) As Semana, DATEPART(dw,’01/10/2000′)
As Día

Usando Northwind
use Northwind

— Órdenes del año 1998


select * from Orders where year(OrderDate) = 1998

— Órdenes de Abril, Mayo y Junio de 1997


select * from Orders where MONTH(OrderDate) in (4,5,6) and year(Orderdate)
= 1997

— Listado de las órdenes, su ID o número, la fecha de la orden, la


fecha de atención y la cantidad de días en que fue atendida.
select OrderID, Format(OrderDate,’dd/MM/yy’) As ‘Fecha Emisión’,
Format(ShippedDate,’dd/MM/yy’) As ‘Fecha de Atención’ ,
Datediff(d,OrderDate, ShippedDate) As ‘Días en Atender’
from Orders

— Agregando 60 días a la fecha actual


select dateadd(d,60,GetDate())

APLICACIÓN PRÁCTICA

Su uso más práctico es en los sistemas de gestores de base de datos (SGBD)


comúnmente ya conocido como ORACLE, MYSQL, SQLSERVER, ETC. nos sirve
para hacer diferentes consultas en nuestras bases de datos sin dañar a la misma.

CONCLUSIONES
● Se llegó a la conclusión que nuestra base de datos trabaja de distintas
formas dependiendo de las diferentes forma de hacer consultas, el manejo
de fecha en si es la manera como vemos y podemos hacer distintas
operaciones con las fechas sin dañar o modificar nuestra base de datos.

● La estructura de nuestras fechas son diferentes y dependiendo de cual se


usa su operación varias a corde el usuario desee hacer con ella.

RECOMENDACIONES

• Se recomienda la correcta investigación de todos los tipos posible para asi


poder tener un conocimiento más abundante sobre este tema
• Tenemos diferentes tipos de fechas pero lo más recomendable es saber
las abreviaciones más importante para así poder usar al 100% nuestro
majeo de fechas.

• No olvidar las estructuras dado que se usaran durante todo el proceso de


operación y elaboración de una base de datos.

BIBLIOGRAFÍA

 WEBGRAFIA

• DevTroce.com. (2018). Funciones útiles con fechas y horas en SQL


Server. [online] Available at:
http://devtroce.com/2013/05/13/funciones-utiles-con-fechas-y-horas-
en-sql-server/ [Accessed 4 Jul. 2018].

• solis, p. (2018). Funciones de Fecha útiles en SQL Server.. [online] Blog


en Español. Available at:
https://bloginspanish.wordpress.com/2014/01/04/funciones-de-fecha-
utiles-en-sql-server/comment-page-1/ [Accessed 4 Jul. 2018].

• SQL, T. (2018). Funciones de fecha y Hora. [online]


Manualsqlserver.com. Available at:
http://www.manualsqlserver.com/?p=185 [Accessed 4 Jul. 2018].

• Tutorialesprogramacionya.com. (2018). Tutorial de SQL Server. [online]


Available at:
http://www.tutorialesprogramacionya.com/sqlserverya/temarios/descrip
cion.php?cod=33&punto=&inicio= [Accessed 4 Jul. 2018].