Sv Community El Salvador

Soporte y Tecnología => Programación => Base de Datos => Mensaje iniciado por: Darkness en mayo 03, 2010, 09:52:57 am

Título: [MySQL]Seleccionar 7 meses anteriores al actual
Publicado por: Darkness en mayo 03, 2010, 09:52:57 am
La fecha actual la tomo del servidor MySQL ahora bien
Como puedo hacer par aseleccionar siete meses anteriores al mes actual

Ejemplo.. si estoy actualmente en MAYO

Lo que necesito obtener es esto...

__________________________________________________
5    |      4    |     3    |    2    |    1   |    12  |   11  |  10       |



Utilice

SELECT MONTH(NOW())-1, MONTH(NOW())-2,  ...

pero el resultado no es el esperado pues al final me devuelve 0 , -1 pues solo voy restando 1 al mes acutal...

saludos
Título: Re:[MySQL]Seleccionar 7 meses anteriores al actual
Publicado por: Camus de Acuario en mayo 03, 2010, 10:13:00 am
Ocupa la funcion add_mounts(x,y), donde:
x = fecha
y = meses que quieras añadir a esa fecha

por lo que para tu caso sería:

Código: [Seleccionar]
SELECT add_months(now(), -7) from Tabla
Por lo que ves, add_months si al numero de meses le pones un valor negativo, resta esos meses, y si pones un positivo los suma.
Título: Re:[MySQL]Seleccionar 7 meses anteriores al actual
Publicado por: Darkness en mayo 03, 2010, 10:18:44 am
add_months es para MySQL?, me devuelve este error, como que buscara una tabla llamada add_months

Citar
Error Code : 1305
FUNCTION gca.add_months does not exist

PD: Creo que es para Oracle...
Título: Re:[MySQL]Seleccionar 7 meses anteriores al actual
Publicado por: Camus de Acuario en mayo 03, 2010, 10:42:54 am
add_months es para MySQL?, me devuelve este error, como que buscara una tabla llamada add_months

PD: Creo que es para Oracle...
Tenes toda la razon, la funcion equivalente para mysql es:

Código: [Seleccionar]
SELECT DATE_ADD(now(), INTERVAL -7 MONTH)
Esta funcion es parecida a add_months de oracle porque puedes definir meses para adelante o para tras, además de meses también acepta estos intervalos:
SECOND, MINUTE, HOUR, DAY, MONTH, YEAR
Título: Re:[MySQL]Seleccionar 7 meses anteriores al actual
Publicado por: Darkness en mayo 03, 2010, 10:49:06 am
Tenes toda la razon, la funcion equivalente para mysql es:

Código: [Seleccionar]
SELECT DATE_ADD(now(), INTERVAL -7 MONTH)


Hey man Gracias.... uta, yo anduve buscando el equivalente de add_months para mysql y no lo encontraba....

hasta me estaba haciendo una mega funcion en .Net para calcularlo...

Gracias nuevamente man!!!