SQL - restar meses a una fecha

 
Vista:

restar meses a una fecha

Publicado por nova (1 intervención) el 16/12/2002 17:59:06
hola, tengo problemas con las fechas, necesito restar 6 meses a la fecha actual, a fin que me devuelta en formato fecha el resultado de la resta (ejemplo 10/10/2002 -6 =10/03/2002)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:restar meses a una fecha

Publicado por Isaías Islas (5072 intervenciones) el 16/12/2002 22:57:11
SELECT DATEADD(MM, -6,GETDATE())
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:restar meses a una fecha

Publicado por Andy Hormazabal (1 intervención) el 25/11/2010 03:04:32
Aqui esta la solucion para los proximos :)

function sumarmeses($fechaini, $meses)
{
/*
if(substr("-",4,4)='-'){
//2010-10-09
list($ano,$mes,$dia)=explode("-",$fechaini);
$fechaini="$dia/$mes/$ano";
}
*/

//formato ->$fecha="27/03/2003";
//2010-11-02
//recortamos la cadena separandola en
//tres variables de dia, mes y año

$dia=substr($fechaini,8,2);
$mes=substr($fechaini,5,2);
$anio=substr($fechaini,0,4);

//Sumamos los meses requeridos
$tmpanio=floor($meses/12);
$tmpmes=$meses%12;
$anionew=$anio+$tmpanio;
$mesnew=$mes+$tmpmes;

//Comprobamos que al sumar no nos hayamos
//pasado del año, si es así incrementamos
//el año
if ($mesnew>12)
{
$mesnew=$mesnew-12;
if ($mesnew<10)
$mesnew="0".$mesnew;
$anionew=$anionew+1;
}

//Ponemos la fecha en formato americano y la devolvemos
$fecha=date("Y-m-d", mktime(0,0,0,$mesnew,$dia,$anionew) );
return $fecha;

}


function restarMeses($fecha,$restar){

$restar = (int) $restar;

list($ano,$mes,$dias) = explode("-",$fecha);

$mes = (int) $mes;

//calcular numero a restar :)
$RestarAno = (int) ($restar/12);
$RestarMeses = (int) ($restar%12);

//se procede con calculo Andy :)
$ano = $ano - $RestarAno;
$mes = $mes - $RestarMeses;

return "$ano-$mes-$dias";

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:restar meses a una fecha

Publicado por gerardo hernandez (1 intervención) el 08/01/2015 18:07:09
convert(date,FechaDocto) = DATEADD(MM,-1,convert(date,getdate()))


El -1 son los meses a resta sin signo son meses a sumar
FechaDocto, es el campo de tu tabla al que le quieres restar la fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar