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

Registros de los últimos 30 días

Estas en el tema de Registros de los últimos 30 días en el foro de Bases de Datos General en Foros del Web. Buenas tardes; Me gustaría saber como puedo consultar los registros de los últimos 30 días, el nombre del campo es DATOS_GENERALES.FECHA_REGISTRO Gracias...
  #1 (permalink)  
Antiguo 11/07/2008, 05:53
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Registros de los últimos 30 días

Buenas tardes;

Me gustaría saber como puedo consultar los registros de los últimos 30 días,
el nombre del campo es

DATOS_GENERALES.FECHA_REGISTRO

Gracias
  #2 (permalink)  
Antiguo 11/07/2008, 06:25
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Respuesta: Registros de los últimos 30 días

No lo he probado, pero intenta algo como esto:
Código PHP:
SELECT FROM #TABLA# WHERE ( date_sub(CURDATE( ) , INTERVAL 1 MONTH) ) > DATOS_GENERALES.FECHA_REGISTRO 
La función date_sub lo que hace es restar un intervalo (en este caso 1 mes) a una fecha dada (en este caso HOY) y luego lo comparamos con el campo de fecha que tienes en tu tabla...


pd. no olvides cambiar #TABLA# por el nombre de tu tabla...

Saludos, espero que sirva
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #3 (permalink)  
Antiguo 14/07/2008, 01:25
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Respuesta: Registros de los últimos 30 días

Lo primero agradecer tu respueta;

He probado el código y no funciona, da el siguiente error:

<eb1>Syntax error or access violation: near '1' in ...( ), INTERVAL [1] MONTH)) > V_SM_DA_...
State:37000,Native:-131,Origin:[Sybase][ODBC Driver][Adaptive Server IQ]</eb1>
  #4 (permalink)  
Antiguo 14/07/2008, 01:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Registros de los últimos 30 días

Si usas Sybase, la sintaxis será tal vez distinta. Yo no trabajo con ella, pero trata de adaptar esto
select * FROM DATOSGENERALES WHERE DATOSGENERALES.FECHAREGISTRO >= DATEADD(day, -30, current_date())

Yo usaría day, pues hay meses con 28, 29, 30 y 31 días. Y si lo que quieres son días, busca días.

No sé si funcionará..., pero esa es la idea
  #5 (permalink)  
Antiguo 14/07/2008, 03:46
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Registros de los últimos 30 días

Muchas gracias a todos por vuestra ayuda, al final he logrado solucionar la consulta de esta forma:

FROM DATOSGENERALES WHERE DATOSGENERALES.FECHAREGISTRO>=DATEADD(day,-30,now()))

  #6 (permalink)  
Antiguo 14/07/2008, 05:41
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Respuesta: Registros de los últimos 30 días

Cita:
Iniciado por jurena Ver Mensaje
Si usas Sybase, la sintaxis será tal vez distinta. Yo no trabajo con ella, pero trata de adaptar esto
select * FROM DATOSGENERALES WHERE DATOSGENERALES.FECHAREGISTRO >= DATEADD(day, -30, current_date())

Yo usaría day, pues hay meses con 28, 29, 30 y 31 días. Y si lo que quieres son días, busca días.

No sé si funcionará..., pero esa es la idea
Buena corrección Jurena, gracias por tu aporte...
Y me alegro compañero SOVEREK que te haya servido

Un saludo
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #7 (permalink)  
Antiguo 14/07/2008, 08:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Registros de los últimos 30 días

Anarninquë,
Gracias a ti. A veces ocurre que en este foro de bases de datos no se nos indica cuál es la base (algo muy recomendable es hacerlo desde el principio), y todos ofrecemos una respuesta desde la sintaxis de aquella base o bases que solemos usar, yo en MySQL. Pero en este caso el error generado nos ha orientado: [Sybase].... La otra cosa, la de distinguir lo del mes de los 30 días sí es algo que, en mi opinión, debemos tener presente, pues no pocas veces puede producir un error. Un ejemplo, si estás a 1 de marzo y le quitas un mes, le habrás quitado 28 o 29 días, y no 30.
Saludos.
  #8 (permalink)  
Antiguo 14/07/2008, 10:36
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Respuesta: Registros de los últimos 30 días

Cita:
Iniciado por jurena Ver Mensaje
La otra cosa, la de distinguir lo del mes de los 30 días sí es algo que, en mi opinión, debemos tener presente, pues no pocas veces puede producir un error. Un ejemplo, si estás a 1 de marzo y le quitas un mes, le habrás quitado 28 o 29 días, y no 30.
No me había fijado que en el post inicial se especifica que quiere los datos de los últimos 30 días
Logicamente conviene mas en ese caso seleccionar por días, pero si se quisieran seleccionar (por ej) los contenidos de febrero (y el 1º de marzo restamos 30 días, estaríamos seleccionando contenidos del 30 y 31 de enero)...

Un saludo a ambos!
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
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 13:18.