El primer dia del mes:
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) |
select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
El Ultimo dia del mes:
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate() )+1, 0)); |
select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate() )+1, 0));
El Lunes de la semana actual:
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) |
select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
Primer dia del año:
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) |
select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
Ultimo dia del mes anterior:
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate() ), 0)); |
select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate() ), 0));
Ultimo dia del año anterior:
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0)) |
select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0))
Primer lunes del mes:
SELECT DATEADD(wk, DATEDIFF(wk,0, |
select DATEADD(wk, DATEDIFF(wk,0,
dateadd(dd,6-datepart(DAY,getdate()),getdate())), 0); |
dateadd(dd,6-datepart(day,getdate()),getdate())), 0);
gracias por publicar dichas funciones, en verdad me ayudaron para una aplicacion.
Pero quisiera saber que funcion podria usar para obtener la penultima fecha, de un rango de un conjunto de facturas de un registro en especifico.
si me pueden ayudar les agradeceria.
Saludos, como sería si quiero obtener todos los dias martes de los 3 ultimos meses? Gracias.
–Primer domingo del mes
SELECT DATEADD(wk, DATEDIFF(wk,6,DATEADD(dd,6-DATEPART(DAY,GETDATE()),GETDATE())), 6);
–Ultimo domingo del mes
SELECT DATEADD(wk, DATEDIFF(wk,6,DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,GETDATE()) 1, 0))), 6);
Modificando el Primer lunes del mes vas a poder encontrar el primer martes de hace 3 meses, el resto sumas semanas y vas a obtener la fechas que necesitas
HOLA ME GUSTARIA SABER COMO SACAR EL AÑO ANTERIOR DE UNA FECHA QUE PASO COMO PARAMENTRO, EJEMPLO
FECHA 20090419
FECHA_ANT 20080419
Converti tu fecha en datetime y suma -1. Ejemplo: select DATEADD (yyyy,-1,convert(datetime, ’19/04/2009′,103))
Laura:
Tambien puedes hacer esto:
select dateadd(year,-1,getDate())
al getDate() lo puedes cambiar por la fecha que quieras
Hola a todos, creen que me pueden hechar la mano para sacar el primer dia del mes anterio. esto para efectos de reportes en sql. server.
gracias.
Porque no haces lo siguiente:
Con SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
Encontras el primer dia del mes actual, y le restas un mes.
Hola, or favor quisiera me orientes en lo siguiente:
tengo un campo con formato timestampUTC (osea con la hora adelantada 5 horas), quiero pasarlo a la hora local en una consulta que estoy haciendo a traves del sql query del excel 2007…te agradeceré tu respuestas
Hola, actualmente estoy diseñando un reporte que saca las ventas actuales filtradas por vendedor y Fechas.
Pero ahora el Gte. de ventas necesita que le coloque las ventas actuales vs las ventas del ano anterior filtradas por vendedor y fechas.
como puedo hacer esta consulta?
de antemano, muchas gracias por tu ayuda.
hola, necesito de su ayuda. estoy trabajando en un reporte que genera una consulta de las ventas actuales filtradas por periodo y fechas.
ahora el Gte. de ventas necesita comparar las ventas actuales vs las ventas del ano anterior…
como podria amar esta consulta si la comparacion se realizar articulo por articulo.
Ejemplo:
Vendedor Articulo VentaActual VentaAnoAnterior Variacion
P03
1021-0001 50 45 5
1022-0002 45 60 -15
Espero haber sido explicito. y muchas gracias por la ayuda.
No vas a poder hacer eso de una. Hace un store procedure y obtene las 2 cosas y hace un join
O si podes arma un cubo con tus datos y quita asi
Hola, aprovechando esta pag y de la informacion que dan arriba que por cierto muchas pero muchas gracias, me podrian ayudar…
Necesito saber la fecha en que termina la semana actual …
Espero su contestacion …Gracias
Con DATEPART(DW,@FECHA ) obtenes el numero de dia de la semana que estas, y con ese valor ve cuantos dias faltan para terminar la semana. Y le sumas esos dias a la fecha actual.
–1. obtener atravez de una funcion los datos del empleado del mes es decir el empleado que mas a vendido
–la funcion recive el mes y año y retorna el nombrecompleto del empleado
por favor colaboreme plis parce
Aunque quiera no hay forma de colaborar con lo que escribiste.
Muy útil… con estos ejemplos de base puedes obtener otras fechas que necesites. Muchas gracias !!!
Gracias man!!!
hola
como obtengo los dias lunes del año
Consulta como puedo obtener el rango de fechas de una semana por ejemplo tengo la semana 39 del año 2010 y el rango de fechas es 20/09-26/09. Como dato adicional la semana comienza los lunes y el año el primer dia del año.
Gracias.
Como puedo obtener todos los lunes de un mes en concreto.
Obtene el primer lunes y sumale 7 u 8 hasta que termine el med
hola en mi reporte para sql me requieren que haga una consulta de cuanta caña se obtiene de hoy 14 de febrero 6am -5:59am del dia 15 de febrero eso es todos los dias ya que la base de datos va actualizandose dia a dia con registro, el programa tendria que estarse ejecutando y diario mostrar el dia que consecuentemente seguira.. si le seguiria 15 d feb 6:00am-5:59am del 16 y asi… cada vez q se ejcute el programa esto es de .net me podrian ayudar con la consulta he visto q algo de datetime pero no entiendo muy bien por favor 🙁
EXCELENTE… gracias!!!
Hola!
Por casualidad tu sabras como en SQL puedo obtener el primer dia de la semana de una semana en particular dado el numero de la semana y el año?
Por ejemplo:
PrimerDiaDelaSemana(Semana,Año)
MiFecha = PrimerDiaDelaSemana(51,2005)
MiFecha = 12/12/2005
Muchas gracias
Hola, me sirvió mucho tu publicación.
Ahora me gustaría saber también cómo sacar el primer dia de la semana a partir de la semana y año.
Muchas gracias de antemano.
Un saludo
Gracias, sin embargo, alguien sabe como restarle dias a una fecha?, por ejemplo, como qitarle 5 dias a una determinada fecha…
Dateadd(fecha,-5)
Hola, quiero mostrar el último día del mes anterior del año anterior, qué fórmula puedo utilizar? Gracias.
Por ejemplo, si hoy es 4/May/2011, quiero obtener el 30/Abr/2010.
HOLA, quiero saber como hago para obtner las fechas de una semana dada, es decir ingreso la semana x del año y obtengo las fechas de inicio y fin de esa semana es posible, busque por todas lados y no encuentro solución.
Gracias Ely
Gracias hermano
hola queria saber como se calcula el ultimo dia habil del mes . gracias 🙂
mi humilde aporte…. con esto obtengo el primer día, el ultimo día y el el ultimo día habil del mes anterior, tipico para reportes contables. Espero les sirva. Saludos.
declare @primer_dia datetime
declare @ultimo_dia DATETIME
DECLARE @ultimo_dia_habil datetime
declare @d varchar(2)
DECLARE @m varchar(2)
DECLARE @a varchar(4)
DECLARE @FE varchar(50)
DECLARE @FI varchar(50)
DECLARE @FN varchar(50)
DECLARE @FcF varchar(50)
DECLARE @FcUdH VARCHAR(50)
–//recupera el dia ctual
set @d=day(dateadd(month, -1, GETDATE()))
if len(@d) = 1 set @d=’0′ + @d
–//recupera el mes actual
set @m=month(dateadd(month, -1, GETDATE()))
if len(@m)=1 set @m=’0′ + @m
–//recupera el año actual
set @a=year(dateadd(month, -1, GETDATE()))
–//fecha dada por el sistema
set @FE=@a + @m + @d
–//Primer dia del Mes
set @FI=@a + @m + ’01’
–//Ultimo dia del mes
set @FN=dateadd( month,1,@FI) -1
–//Ultimo dia del mes en formato yyyymmdd
–//recupera el dia ctual
set @d=cast(day(@FN)as varchar)
if len(@d) = 1 set @d=’0′ + @d
–//recupera el mes actual
set @m=cast(month(@FN)as varchar)
if len(@m)=1 set @m=’0′ + @m
set @FcF=cast(year(@FN)as varchar) + @m + @d
set @primer_dia = @FI + ‘ 00:00:00.000’
set @ultimo_dia = @FcF + ‘ 23:59:59.000’
— Forzamos el primer día de la semana a Lunes, para calcular el último día habil del mes.
SET DATEFIRST 1
SET @ultimo_dia_habil=@ultimo_dia
WHILE (DATEPART(dw,@ultimo_dia_habil)) > 5
BEGIN
SET @ultimo_dia_habil = @ultimo_dia_habil – 1
END
SELECT @primer_dia, @ultimo_dia, @ultimo_dia_habil
Amigo Muchisimas Gracias por tu aporte me estaba haciendo un lio con esto.
Tknss… Me fue de mucha utilidad
Hola,
Aguien me puede orientar como agregar un mes a un a fecha determinada en sql server
20110906
20111006
Gracias!
Ola..me gustaria que me ayudaran me piden que liste determinados productos que fueron vendidos algun jueves….me podrian ayudar para ver que funcion puedo aplicar. en mi sentencia en sql server…gracias por su ayuda!
necesito conseguir la fecha del dia anterion entre la 7:am y las 9:pm
para hacer unos calculos en sql
haber si me pueden ayudar con esto.
tengo una base de datos de ventas, en la cual tengo un reporte al cual ingreso una fecha (YYYY-MM-DD) y este me da las ventas de ese mes en un acolumna.
Ahora quisiera agregarles dos columnas, una que sea del ismo mes pero del año anterior, y otra columna que me acumule todos los periodos de ese año, Es decir si mi fecha ingresada es julio que sume desde enero a julio y si infreso como fecha marzo que solo sume las ventas de enero a marzo de ese año.
Gracias
Neil Lopez
Holaaa… Alguien podria decir como sacar el dia de ayer? es decir la fecha anterior al dia actual… De antemano gracias.. espero puedan ayudarme
Chicos ya lo resolvi… Igual aca les dejo x si alguien lo llega a necesitar…
select convert (date, dateadd(day, -1, getdate( ) ) )
asi retorna la fecha de ayer…
Buen dia, espero me puedan ayudar, solo necesito obtener el dia del año a partir de una fecha por ejemplo hoy es 23 de diciembre del 2011 deberia regresar 356, creo que es algo sencillo pero no tengo el conocimiento de como hacer con SQL
Saludos y gracias de antemano!
Olvidenlo ya lo pude hacer con el dateDiff jejejeje
se los paso por si a alguien le sirve
select DATEDIFF(DD, ‘2011-01-01’, getdate()) as diaDelAño
este es para el 2011 pero lo pueden hacer para cualquier año
Saludos!
ya mas completo:
declare @fecha datetime
set @fecha = getdate() –Esta puede ser cualquier fecha
select DATEDIFF(DD, CAST(YEAR(@fecha) As VARCHAR(4))+’-01-01′, @fecha) as diaDelAño
Hola Buenas tardes,me podrian ayudar necesito obtener el dia 15 de cada mes..agradesco de antemano su atencion saludos
Hola quiciera saber como hago en una sentencia SQL, para que me mande el mes actual..
Lo que en realidad quiero es lo siguiente, tengo que sacar un reporte donde me vote la cantidad vendida en los 3 meses anteriores para ser comparaciones venta, esta consulta me salio bien hasta el mes pasado ENERO, pero a partir de este mes FEBRERO, me vota cero, mi consulta es la siguiente:
SELECT CASE WHEN MONTH(Ventas.Fecha)=@mesini THEN Salidas_Detalle.Cantidad ELSE ‘0’ END AS Mes1,
CASE WHEN MONTH(Ventas.Fecha)=@mesmed THEN Salidas_Detalle.Cantidad ELSE ‘0’ END AS Mes2,
CASE WHEN MONTH(Ventas.Fecha)=@mesfin THEN Salidas_Detalle.Cantidad ELSE ‘0’ END AS Mes3
FROM dbo.Articulos AS Articulos INNER JOIN
dbo.Salidas_Detalle AS Salidas_Detalle ON Articulos.Id_Articulo = Salidas_Detalle.Id_Articulo INNER JOIN
dbo.Laboratorios AS Laboratorios ON Articulos.Id_Laboratorio = Laboratorios.Id_Laboratorio INNER JOIN
dbo.Ventas AS Ventas ON Salidas_Detalle.Id_Salida = Ventas.Id_Salida LEFT OUTER JOIN
dbo.Clientes ON Ventas.Id_Cliente = dbo.Clientes.Id_Cliente
WHERE (MONTH(Ventas.Fecha)>=@mesini AND MONTH(Ventas.Fecha)<=@mesfin AND YEAR(Ventas.Fecha)=YEAR(GETDATE())) AND (Ventas.Anulada = 0) AND (Ventas.Id_Documento = '01' OR Ventas.Id_Documento = '03') AND (Articulos.Id_Articulo=@idart OR @idart='') AND (Articulos.Id_Laboratorio=@idlab OR @idlab='')AND (dbo.Clientes.tipcli = N'S' OR dbo.Clientes.tipcli = N'I') Como se abran dado cuenta estoy dando una sentencia por año "getdate" , lo que solo me especifica el año en q se esta trabajando, pero al momento de empesar el segundo mes de un año nuevo, esta cadena se rompe, por esso necesita trabajar por mes actual. o si tienen otra solucion mas conveniente se los agradeceria mucho, mi coreo es leoper2007@hotmail.com gracias …
La consulta que tengo es como obtener la fecha desde un servidor Informix ya no desde Sql-Server, gracias por tu tiempo
si yo quiero ver la semana de una fecha que esta en una tabla, como lo hago ?
Gracias