Está en la página 1de 3

Fechas SQL

Quitarle la hora a una fecha (ponerla a 00:00:0)


select convert(DATETIME,convert(VARCHAR,Fecha,112),112) AS Fecha from log

Quitarle la hora a una fecha


CONVERT(nvarchar(10),CreacionFecha,101)

Modificar una fecha:

Puede añadirse o quitarse días, horas, minutos, años, etc:

DATEADD(day,1,fecha)

datepart Abreviaturas

year yy, yyyy

quarter qq, q

month mm, m

dayofyear dy, y

day dd, d

week wk, ww

weekday dw, w

hour hh

minute mi, n

second ss, s

millisecond ms

microsecond mcs

nanosecond ns
Funciones que obtienen partes de la fecha y hora

Tipo de datos
Función Sintaxis Valor devuelto devuelto Determinismo

DATENAME DATENAME ( datepart , Devuelve una cadena de caracteres que representa el datepart especificado de la nvarchar No determinista
date ) fecha especificada.

DATEPART DATEPART ( datepart , Devuelve un entero que representa el datepart especificado del date especificado. int No determinista
date )

DAY DAY ( date ) Devuelve un entero que representa la parte del día de date especificado. int Determinista

MONTH MONTH ( date ) Devuelve un entero que representa la parte del mes de un date especificado. int Determinista

YEAR YEAR ( date ) Devuelve un entero que representa la parte del año de un date especificado. int Determinista

Funciones que obtienen diferencias de fecha y hora

Tipo de datos
Función Sintaxis Valor devuelto devuelto Determinismo

DATEDIFF DATEDIFF ( datepart , startdate , Devuelve el número de límites datepart de fecha y hora entre dos fechas int Determinista
enddate ) especificadas.

Funciones que modifican valores de fecha y hora

Función Sintaxis Valor devuelto Tipo de datos devuelto Determinismo

DATEADD DATEADD (datepart , Devuelve un nuevo valor datetime agregando un intervalo al El tipo de datos del argumento Determinista
number , date ) datepart especificado del dateespecificado. date.

SWITCHOFFSET SWITCHOFFSET SWITCH OFFSET cambia el ajuste de zona horaria de un valor datetimeoffset con la precisión Determinista
(DATETIMEOFFSET , DATETIMEOFFSET y conserva el valor UTC. fraccionaria de DATETIMEOFFSET
time_zone)

TODATETIMEOFFSET TODATETIMEOFFSET TODATETIMEOFFSET transforma un valor datetime2 en un valor datetimeoffset con la precisión Determinista
(expression , time_zone) datetimeoffset. El valor datetime2 se interpreta en la hora local fraccionaria del argumento
para el valor time_zone especificado. datetime

Ejemplos de consultas de SQL con fechas:


Sql=”SELECT CONVERT(nvarchar(10),CreacionFecha,101) As Fecha
sql=sql& "FROM Billete "
sql=sql& "WHERE (CreacionFecha >= CONVERT(DATETIME,'"
sql=sql & Format(CDate(txtDesde.Text), "yyyy/MM/dd") & " 00:00:00', 102)) "
sql=sql & "AND (CreacionFecha <= CONVERT(DATETIME,'"
sql=sql & Format(CDate(txtHasta.Text), "yyyy/MM/dd") & " 00:00:00', 102)) AND "
sql=sql & "(Cancelado = 0) AND (Cliente=" & txtCliente.Text
sql=sql & ") ORDER BY CreacionFecha,NumeroBillete "

Mostrar intervalo del mes actual:

txtHasta.Text = Format(Now, "d/M/yyyy")


txtDesde.Text = Format(DateSerial(Year(Now), Month(Now), 1), "d/M/yyyy")

SUBCONSULTAS:
SELECT B.Cliente,B.NumeroBillete,B.Localizador,B.CreacionFecha,B.Titular,P.Contacto, P.Comentario
FROM Billete As B JOIN
(SELECT PNR.Localizador,PNR.Contacto,PNR.Comentario From
PNR JOIN
(SELECT Localizador, Max(Version) As version
from PNR
WHERE Localizador=ANY (
SELECT Localizador
FROM Billete
WHERE Cliente=3225 and CreacionFecha >= CONVERT(DATETIME,'2009/02/17 00:00:00', 102)
)
GROUP BY Localizador) V
ON PNR.Localizador=V.Localizador And PNR.Version=V.Version)P
ON B.Localizador=P.Localizador
ORDER BY B.Cliente,B.CreacionFecha