DateADD
-
martes, 31 de julio de 2012 15:31Mii consulta es el DATE ADD lo que hace es sumar 30 dias ?
sucede lo siguiente si a la fecha 30 de agosto le resto un mes deberia de darme el ultimo mes del mes anterior en este caso 31 de julio pero el resultado es 30 de julio
DECLARE @StartDate date;
SET @StartDate = '08/30/2012'
SET @StartDate = DATEADD(month, -1, @StartDate);
print(@StartDate) 2012-07-30Gracias
WAQ
Todas las respuestas
-
martes, 31 de julio de 2012 16:43
date con el intervalo number especificado (entero con firma) agregado a un valor datepart especificado de ese valor date.
http://msdn.microsoft.com/es-es/library/ms186819.aspx<span data-guid="7863718894d271946e89e64b1be21955" data-source="Returns a specified date with the specified number interval (signed integer) added to a specified datepart of that date." id="mt1">
-
martes, 31 de julio de 2012 16:47
Esa no es la forma en que trabaja esa función, ademas Agosto tiene 31 días asi que no veo porque debería dar como resultado el fin de mes de Julio.
SELECT DATEADD([month], -1, '20120831') AS dt; GO
AMB
-
martes, 31 de julio de 2012 18:04en tu consulta deberias de poner SET @StartDate = '08/31/2012'
Gracias Ing. Salomon Bagdadi
-
martes, 31 de julio de 2012 18:06
si quieres que te regrese el ultimo dia del mes anterior
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
si quieres que te regrese el ultimo dia del mes anterior partiendo de X fecha:
DECLARE @dtDate DATETIME
SET @dtDate = '8/30/2012'
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@dtDate),0))Gracias Ing. Salomon Bagdadi
-
jueves, 02 de agosto de 2012 19:35
quieres que te arroje el ultimo día del mes anterior ????
puedes probar de la siguiente manera
SELECT CAST(DATEADD( D,-1, LEFT(CONVERT(VARCHAR,GETDATE(),112),6)+'01') AS DATE )
SALUDOS :)
-
jueves, 02 de agosto de 2012 20:02
Fin del mes anterior:
Select GetDate() [Hoy], DateDiff(Month,0,GetDate()) [Meses desde 01/01/1900], DateAdd(Month,DateDiff(Month,0,GetDate()),0) [Principio del mes], DateAdd(Month,DateDiff(Month,0,GetDate()),0)-1 [Fin del mes anterior];
Este ejemplo es con GetDate() pero se puede cambiarlo con cualquier valor.
La ultima columna es la respuesta,
y las primeras tres la explican.
Blog: http://about.me/GeriReshef
- Marcado como respuesta Eder CostaOwner jueves, 09 de agosto de 2012 14:27

