lunes, 11 de marzo de 2019

SQL Funciones para el uso de fechas y horas


Microsoft SQL Server ofrece algunas funciones para trabajar con fechas y horas. Estas son algunas:

- getdate(): retorna la fecha y hora actuales. Ejemplo: select getdate();


- datepart(partedefecha,fecha): 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;

- datename(partedefecha,fecha): 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());


- dateadd(partedelafecha,numero,fecha): agrega un intervalo a la fecha especificada, es decir, retorna una fecha adicionando a la fecha enviada como tercer argumento, el intervalo de tiempo indicado por el primer parámetro, tantas veces como lo indica el segundo parámetro. Los valores para el primer argumento pueden ser: year (año), quarter (cuarto), month (mes), day (dia), week (semana), hour (hora), minute (minuto), second (segundo) y millisecond (milisegundo). Ejemplos: 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.

- datediff(partedelafecha,fecha1,fecha2): calcula el intervalo de tiempo (según el primer argumento) entre las 2 fechas. El resultado es un valor entero que corresponde a fecha2-fecha1. Los valores de "partedelafecha) pueden ser los mismos que se especificaron anteriormente. Ejemplos: 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).

- day(fecha): retorna el día de la fecha especificada. Ejemplo: select day(getdate());


- month(fecha): retorna el mes de la fecha especificada. Ejemplo: select month(getdate());


- year(fecha): retorna el año de la fecha especificada. Ejemplo: select year(getdate());


Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo datetime o smalldatetime.
Servidor de SQL Server instalado en forma local.

Ingresemos el siguiente lote de comandos en el SQL Server Management Studio:

if object_id ('libros') is not null drop table libros; create table libros( titulo varchar(40) not null, autor varchar(20) default 'Desconocido', editorial varchar(20), edicion datetime, precio decimal(6,2) ); go set dateformat ymd; insert into libros values('El aleph','Borges','Emece','1980/10/10',25.33); insert into libros values('Java en 10 minutos','Mario Molina','Siglo XXI','2000/05/05',50.65); insert into libros values('Alicia en el pais de las maravillas','Lewis Carroll','Emece','2000/08/09',19.95); insert into libros values('Aprenda PHP','Mario Molina','Siglo XXI','2000/02/04',45);

 -- Mostramos el título del libro y el año de edición:

 select titulo, datepart (year,edicion) from libros;

 -- Mostramos el título del libro y el nombre del mes de edición: 

select titulo, datename (month,edicion) from libros;

 -- Mostramos el título del libro y los años que tienen de editados: 

select titulo, datediff(year,edicion,getdate()) from libros;

 -- Muestre los títulos de los libros que se editaron el día 9, de cualquier mes de cualquier año:

 select titulo from libros where datepart(day,edicion)=9;
Share:

0 comentarios:

Publicar un comentario

Gracias por tu comentario.
en cualquier momento te responderé. Buen día y Dios te bendiga grandemente

Salmos 23

El Señor es mi pastor, nada me faltará. 2 En lugares de verdes pastos me hace descansar; junto a aguas de reposo me conduce. 3 El restaura mi alma; me guía por senderos de justicia por amor de su nombre. 4 Aunque pase por el valle de sombra de muerte, no temeré mal alguno, porque tú estás conmigo; tu vara y tu cayado me infunden aliento. 5 Tú preparas mesa delante de mí en presencia de mis enemigos; has ungido mi cabeza con aceite; mi copa está rebosando. 6 Ciertamente el bien y la misericordia me seguirán todos los días de mi vida, y en la casa del Señor moraré por largos días.