Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con fechas

Estas en el tema de Consulta con fechas en el foro de Mysql en Foros del Web. Hola, quería saber si alguien me podria ayudar con esta consulta... yo tengo un campo en la tabla jobs llamado 'fecha', en formato AAAA/MM/DD HH:MM ...
  #1 (permalink)  
Antiguo 08/09/2008, 19:02
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Consulta con fechas

Hola, quería saber si alguien me podria ayudar con esta consulta...

yo tengo un campo en la tabla jobs llamado 'fecha', en formato AAAA/MM/DD HH:MM ... y quiero que solo se muestren los datos de los ultimos 30 dias... como puedo hacer eso? que cambie constantemente el criterio segun la fecha actual??

Desde ya, muchas gracias!!!

pablo

pd: como puedo hacer para cambiar ese formato AAAA/MM/DD a el comun argentino (DD/MM/AAAA) y sin la fecha. MUCHAS GRACIAS!
  #2 (permalink)  
Antiguo 08/09/2008, 20:43
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Consulta con fechas

Código:
SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE (jobs.FECHA >=' dateadd(dd,-30,GETDAY())' AND jobs.fecha <= 'GETDATE()') AND jobs.USER_ID='$row_id[User_ID]'
puse esto.. pero no me filtra correctamente las fechas.. alguien sabe que es lo que estoy haciendo mal???

lo que quiero hacer es mostrar las consultas de HASTA 30 dias atras.... se entiende?

muchas gracias, espero su aporte! :)

pablo.

Última edición por GatorV; 08/09/2008 a las 22:16
  #3 (permalink)  
Antiguo 08/09/2008, 22:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Consulta con fechas

Tema trasladado a MySQL.
  #4 (permalink)  
Antiguo 09/09/2008, 02:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta con fechas

Aunque no lo he probado, la consulta que quieres sería parecida a esta.

SELECT jobs.NOMBRE, DATE_FORMAT(jobs.FECHA, '%d-%m-%Y') as fechaarg, jobs.DESCRIPCION FROM jobs WHERE jobs.FECHA >= DATE_ADD(DATE(NOW(), interval -30 DAY) AND jobs.USER_ID=1


He eliminado la variable PHP (en este foro no está permitido). Primero lanza la consulta en MySQL, y luego, si ves bien los resultados, carga en PHP. Carga la fecha con el alias fechaarg.
  #5 (permalink)  
Antiguo 09/09/2008, 07:50
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Consulta con fechas

Jurena,

he tratado de utilizar el codigo que me diste, pero no logro resolver que me aparezcan los resultados... seguramente sea un problema de formato de fecha, pero como no estoy muy familiarizado con esto, te paso los campos para que veas mas o menos el formato...

Cita:
ID id_clien descripcion fecha
2 2 BD Dbk 2001-01-08 00:00:00 segundo laburo para el estudio DBK
3 2 BD Dbk 2001-01-08 00:00:00 segundo laburo para el estudio DBK
4 2 Laburo DBK 2008-12-12 00:00:00 Ultimo Laburo DBK
5 2 laburo casa 0000-00-00 00:00:00 Tan
6 1 tan 2008-03-03 00:00:00 tan
7 2 Hola 2008-09-06 00:00:00 Poco a poco me sale! ;)
8 2 Chau 2008-09-06 00:00:00 A ver ahora que pasa?
9 2 BD Dbk 2001-01-08 00:00:00 Primer laburo para el estudio DBK
10 0 BD Dbk 2001-01-08 00:00:00 Primer laburo para el estudio DBK
11 0 BD Dbk 2002-01-08 00:00:00 Primer laburo para el estudio DBK
12 0 BD Dbk 2002-01-08 00:00:00 Primer laburo para el estudio DBK
13 0 hattrick 2025-08-09 00:00:00 hol
15 2 juan dbk 0000-00-00 00:00:00 hola
16 3 Nueva BD 2008-12-15 00:00:00 Este es el primer nuevo laburo...
17 2 hola 0000-00-00 00:00:00 dsdsd
18 2 dsds 2008-09-06 00:00:00 dsds
perdom por la desprolijidad... pero bueno, como ves, el formato fecha es el siguiente.... AAAA/MM/DD....

yo ejecuto la siguiente consulta con el codigo que me pasaste en MySQL:

Código:
SELECT jobs.NOMBRE, DATE_FORMAT( jobs.FECHA,  '%d-%m-%Y' ) AS fecharg, jobs.DESCRIPCION
FROM jobs
WHERE jobs.fecha >=  'dateadd(dd,-30,NOW())'
AND jobs.fecha <  'NOW()'
LIMIT 0 , 30
en realidad ese limit 0,30 no estaba en el codigo.. pero creo que es para que se muestren 30 registros, no? si no es asi... lo saco.

Bueno, la cosa es que ese codigo, que tendria que devolver algunos resultados (por ejemplo, el trabajo con ID=6 y 7 tienen fecha del 06/09/08...).. pero la consulta ejecutada me dice lo siguiente:

Cita:
MySQL ha devuelto un valor vacío (i.e., cero columnas)
Alguna solucion a esto? Ya sea modificar el formato del campo fecha para mostrar solo la fecha sin la hora, etc?

Espero que encuentren mi error!!!

muchas gracias!!

pablo.
  #6 (permalink)  
Antiguo 09/09/2008, 08:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta con fechas

¿Estás utilizando MySQL, verdad? Prueba esta consulta tal cual.

SELECT jobs.NOMBRE, DATE_FORMAT( jobs.FECHA, '%d-%m-%Y' ) AS fecharg, jobs.DESCRIPCION FROM jobs WHERE jobs.fecha BETWEEN date_add(DATE(NOW()),INTERVAL -30 DAY) AND DATE(NOW())
  #7 (permalink)  
Antiguo 09/09/2008, 08:38
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Consulta con fechas

BUENAS!

la consulta que me diste recien funciona a la perfeccion... ahora el problema lo tengo cuando quiero agregarle otra restriccion a la consulta (es decir, otro parametro a la clausula WHERE)...

lo que pongo es lo siguiente:

Código:
SELECT jobs.NOMBRE, DATE_FORMAT( jobs.FECHA,  '%d-%m-%Y' ) AS fecharg, jobs.DESCRIPCION
FROM jobs
WHERE jobs.fecha
BETWEEN DATE_ADD( DATE( NOW( ) ) , INTERVAL -30
DAY ) 
AND DATE( NOW( ) ) 
jobs.User_id =2
ESTO me funciona a la perfeccion...

el proble es que como estoy en PHP, en vez de poner jobs.user_id=2.. el user_id es el del usuario que esta logueado... por ende, lo reemplazo por el resultado de una consulta anterior, que seria
Código:
WHERE....
AND jobs.User_id = '$row_id[User_ID]'
el error que me da es el siguiente:

Cita:
Parse error: syntax error, unexpected T_VARIABLE in C:\AppServ\www\acceso\prueba.php on line 76
siendo la linea 76 la de la consulta aqui citada...

alguna respuesta para este error?.. ya intente modificando las comillas por apostrofes, etc.. pero no logro nada... alguna solucion??

MUCHAS GRACIAS DE ANTEMANO!!

pablo.
  #8 (permalink)  
Antiguo 09/09/2008, 08:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta con fechas

Pablo,
ese es un problema PHP. Debes preguntarlo en ese foro. No es nada difícil y te responderán inmediatamente, ya verás, pero aquí solo respondemos a cuestiones de MySQL. Abre un nuevo post en el foro PHP y lanza esa pregunta concreta...
  #9 (permalink)  
Antiguo 09/09/2008, 08:58
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Consulta con fechas

gracias!

yo lo puse aca porque antes lo habia puesto en PHP y me lo movieron aca... pero bueno, gracias de todas formas!!!

ya estoy yendo al foro PHP

un saludo!

pablo.

pd: ni por privado me lo puedes contestar? :P jajaja
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:36.