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
-
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
-
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:
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.
-
add_months es para MySQL?, me devuelve este error, como que buscara una tabla llamada add_months
Error Code : 1305
FUNCTION gca.add_months does not exist
PD: Creo que es para Oracle...
-
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:
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
-
Tenes toda la razon, la funcion equivalente para mysql es:
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!!!