Estoy obteniendo una diferencia entre fechas con una función MySQL:
Código PHP:
SELECT DATEDIFF(campoFecha,"2006-11-02") AS diferencia FROM miTabla
1 año, 6 meses, 10 días
Gracias por adelantado. Saludos,
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| ||||
Hola Falhor. Gracias por contestar. Tu código no me ha funcionado, da error con la función DateDiff Lo que devuelve DATEDIFF(campoFecha,"2006-11-02") es la diferencia entre las dos fecha, en días. ¿A alguien como pasarlo a "1 año, 6 meses, 10 días" ![]() Gracias. Saludos, ![]() |
| |||
Cita: Realmente todo lo que propones no funciona por:
Iniciado por Falhor ![]() Vos haces "DATEDIFF(campoFecha,"2006-11-02")" y te muestra: 4 (por ejemplo)?? Bueno, primero que nada supongo que si sabes PHP y leiste el codigo cambiaste el $fecha1 y eso por lo que querias, en tu ejemplo creo que seria: Código PHP: Si no te funciona asi proba asi: Código PHP: 1) Construcciones SQL así no tienen sentido: $dias = DateDiff ("d", campoFecha, "2006-11-02"); $dias = mysql_result($dias); Por la sencilla razón que DATEDIFF() es una Función de SQL .. así que tendrás que hacer tu "SELECT" y ahí aplicar la función .. tanto si es para un condicional ("WHERE") o cálculo en sí .. 2) No puedes hacer 3 mysql_query() y 3 mysql_result() .. por lo mismo de antes .. 3) Las funcion DATEDIFF() de Mysql .. no tiene 3 parámetros (tal vez te confundistes .. esa función existe en muchos lenguajes .. ) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Gracias por aclararmelo, lo que pasa es que como aclare antes "No estoy acostumbrado a trabajar con fechas" (No tengo experiencia en PHP), y busque en google, entonces puse en relacion a lo que encontre eso... Saludos. |
| |||
Cita: Tal vez lo que vió Falhor fué esta función en PHP que alguien creó para simular lo que en SQL la mayoría de motores de BBDD ya hacen:http://www.ilovejackdaniels.com/php/...diff-function/ (eso sí .. algunas funcionalidades más tiene). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cita: Bueno .. al final lo encontré (realmente adaba buscando la solución "SQL" puro):http://www.jesuslara.com.ve/blog/?p=51 Hay dos propuestas .. una para Mysql 4.x (e inferiores) y otra para Mysql 5.x (define un procedimiento almacenado). En realidad se trata de operar 100% con fechas para ir obteniendo los años transcurridos .. los días, meses .. Exactamente igual que si lo hicieras con PHP a base de "dividir" (y venceras xD) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cita: Ok, .. de todas formas tenías más problemas con uso de "SQL" en general que no con "fechas".Repasa esos temas. Usas mucho "mysql_result()" en casos que mejor conviene mysql_fetch_array() o mysql_fetch_row() .. etc. Cualquier duda, pregunta sin compromiso. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Pero que cambia en usar mysql_result() o mysql_fetch_row()?? Y una cosa mas, si yo quiero hacer mas de un query como hago?? Saludos y gracias (Para no desvirtuar si queres hago un tema nuevo) |
| |||
Cita: Mejor inicia un nuevo tema y así tratamos todos esos aspectos con calma sin mezclar en este tema.Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |