Funciones De Fecha Y Hora En Sql
Estas funciones escalares realizan una operación sobre un valor de fecha y hora de entrada, y devuelven un valor de cadena, numérico o de fecha y hora:DATEADD
DATEDIFF
DATENAME
DATEPART
GETDATE
DAY
MONTH
YEAR
Trabajando con fechas ...
Con algunos pequeños ejemplos trataremos de resolver los mayores problemas para trabajar con estos tiposde datos. Para ello utilizaremos las funciones CAST y CONVERT.
Separando Fecha y Hora.
Declare @Fecha datetime
Set @Fecha = Getdate()
Select Convert(Char(10), @Fecha,112) As SoloFecha,Convert(Char(8), @Fecha, 108) As SoloHora
SoloFecha SoloHora
---------- --------
20010803 07:35:02
(1 row(s) affected)
Otra forma de conseguir el mismo resultado:
Declare @Fecha datetime
Set @Fecha =Getdate()
SELECT Convert(varchar, @Fecha, 3) AS SoloFecha, Convert(varchar, @Fecha, 8)
Operaciones con Fechas (diferencia entre dos fechas).
Obtener diferencia de meses, dias, minutos, etc. entredos fechas.
Para realizar operaciones entre dos fechas MSSQL tiene la función DATEDIFF. Veamos algunos ejemplos de cómo utilizarla:
declare @FechaIngreso datetime
declare @FechaEgreso datetimeselect @FechaIngreso = '19981231 15:15'
select @FechaEgreso = '20021005 10:10'
Select
DATEDIFF(dd, @FechaIngreso, @FechaEgreso) AS Dias,
DATEDIFF(mm, @FechaIngreso, @FechaEgreso) AS Meses,DATEDIFF(mi, @FechaIngreso, @FechaEgreso) AS Minutos
Para obtener otras diferencias podemos recurrir a la siguiente tabla:
Parte de la fecha | Abreviaturas |
año | aa, aaaa |
trimestre | tt, t |mes | mm, m |
día del año | da, a |
día | dd, d |
semana | sm, ss |
hora | hh |
minuto | mi, n |
segundo | ss, s |
milisegundo | Ms |
Otro ejemplo de DATEDIFF en donde recuperados losdatos de la ultima semana partiendo de la fecha del día:
SELECT TusDatos
FROM TuTabla
WHERE
DATEDIFF(dd, TuFecha, GetDate()) <= 7
Continuando con las operaciones con las fechas, veamos como...
Regístrate para leer el documento completo.