Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
comparar fecha actual con los meses del año

hola gente anteriormente les comente que estaba haciendo un proyecto en delphi xe7 con componentes mydac (tmytable,tmyquery) cambie el gestor de base de datos ahora uso mysql workbench bueno mi pregunta es
como hacer una comparacion de la fecha actual con del mes lo que quiero hacer es cuando los registro que vence en el mes mayo aparezcan en una grilla todos los registros que vencen en dicho mes y sucesivamente con todos los meses, aprovechando la pregunta es posible cargar varias consultas en un solo query

espero que me puedan ayudar gracias.
Responder Con Cita
  #2  
Antiguo 07-05-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.731
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
¿Qué significa esto?
Cita:
aparezcan en una grilla todos los registros que vencen en dicho mes y sucesivamente con todos los meses
Para los registros que estén dentro de un mes puede hacer un select así:
Código SQL [-]
/*
fecha_inicial = 01/05/2018
fecha_final = 31/05/2018 23:59:59
*/
select * from tabla
where
fecha >= :fecha_inicia and
fecha <= :fecha final
Responder Con Cita
  #3  
Antiguo 07-05-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Sobre la consulta de las fechas también podría ser algo así:

Código SQL [-]

/*Mes_de_la_consulta=4*/

Select * from tabla
where extract(Month from fecha)=: Mes_de_la_consulta

y en cuanto a varias consykltas en un solo query..., no se si te refieres a esto

Código SQL [-]

Select * from tabla
where (una_condicion)

union all

Select * from tabla
where (otra_condicion)

Saludos
Responder Con Cita
  #4  
Antiguo 07-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
¿Qué significa esto?

Para los registros que estén dentro de un mes puede hacer un select así:
Código SQL [-]
/*
fecha_inicial = 01/05/2018
fecha_final = 31/05/2018 23:59:59
*/
select * from tabla
where
fecha >= :fecha_inicia and
fecha <= :fecha final
hola, gracias por responder
no todo los registros tienen una fecha inicial y fecha final en el mismo mes por ejemplo :
fecha inicial : 10/10/17
fecha final : 5/5/18
con respecto a la otra pegunta que no me exprese muy bien es que los registros con fecha final se muestren cuando sea el mismo mes o sea si tengo registros que vencen en el mes de septiembre que se muestren en el mes de septiembre
saludos
Responder Con Cita
  #5  
Antiguo 07-05-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.731
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Entonces, como dice manelb:

Código SQL [-]
/*
Para los vencimientos de septiembre 
Mes_de_la_consulta = 9
*/

select *
from tabla
where
extract(month from fecha_final) = :mes_de_la_consulta
Responder Con Cita
  #6  
Antiguo 07-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por manelb Ver Mensaje
Sobre la consulta de las fechas también podría ser algo así:

Código SQL [-]

/*Mes_de_la_consulta=4*/

Select * from tabla
where extract(Month from fecha)=: Mes_de_la_consulta

y en cuanto a varias consykltas en un solo query..., no se si te refieres a esto

Código SQL [-]

Select * from tabla
where (una_condicion)

union all

Select * from tabla
where (otra_condicion)

Saludos
hola, gracias por responder con el tema de las consultas lo que quiero hacer es que los registros que vencen en un mes por ejemplo en mayo aparezcan en un formulario mi idea es hacer consultas de de los 12 meses del año una consulta por cada mes voy a probar lo que me dijiste y posteo el resultado gracias un saludo
Responder Con Cita
  #7  
Antiguo 07-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Entonces, como dice manelb:

Código SQL [-]
/*
Para los vencimientos de septiembre 
Mes_de_la_consulta = 9
*/

select *
from tabla
where
extract(month from fecha_final) = :mes_de_la_consulta
lo voy a probar saludos
Responder Con Cita
  #8  
Antiguo 08-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por the walrus Ver Mensaje
hola, gracias por responder con el tema de las consultas lo que quiero hacer es que los registros que vencen en un mes por ejemplo en mayo aparezcan en un formulario mi idea es hacer consultas de de los 12 meses del año una consulta por cada mes voy a probar lo que me dijiste y posteo el resultado gracias un saludo
hola, no me dio el resultado que queria igual gracias por aportar
Responder Con Cita
  #9  
Antiguo 08-05-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No es nada claro lo que preguntas. Porque no nos muestras una tabla con ejemplos?
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 08-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
hola, gracias por responder
mi tabla tiene estos campos
id_clientes
nombre
apellido
dni
compañia
vigencia_desde
vigencia_hasta
lo que quiero hacer es una consulta sql que compare el campo de vigencia_hasta con un mes del año y se muestre en otro formulario

hago un ejemplo todos los registros que tengan una vigencia_hasta en un mes en especifico por ejemplo el mes de junio y cuando llegue el mes de junio se muestren los registros que vencen en ese mes en un formulario.
gracias saludos
Responder Con Cita
  #11  
Antiguo 08-05-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.731
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Ante todo:
  • Te agradecería que utilizaras comas, puntos, mayúsculas y minúsculas.
  • Separa las frases para que sean cortas y comprensibles. (escribes de una manera muy críptica).
  • Lee nuevamente lo que has escrito antes de publicarlo, poniéndote en el lugar de quien desea ayudarte. Evite que esa persona tenga que suponer todo lo que no expliques.

No debes hacer 12 cosultas, una por cada mes.
Debes hacer una consulta con un parámetro y rellenar ese parámetro con el número del mes que deseas mostrar.

La consulta es la que te hemos mencionado en posts anteriores.
Quizás la única cosa a agregar sería el año, por si algo vence en el mes que pides, pero del año siguiente

Código SQL [-]
/*
Para los vencimientos de septiembre del 2018
Mes_de_la_consulta = 9
Anyo_de_la_consulta = 2018
*/

select *
from tabla
where
extract(month from vigencia_hasta) = :mes_de_la_consulta and
extract(year from vigencia_hasta) = :anyo_de_la_consulta
Responder Con Cita
  #12  
Antiguo 08-05-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por the walrus Ver Mensaje
mi tabla tiene estos campos
Si, y como se ven los datos iniciales? Y como se ven los resultados?
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 09-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Ante todo:
  • Te agradecería que utilizaras comas, puntos, mayúsculas y minúsculas.
  • Separa las frases para que sean cortas y comprensibles. (escribes de una manera muy críptica).
  • Lee nuevamente lo que has escrito antes de publicarlo, poniéndote en el lugar de quien desea ayudarte. Evite que esa persona tenga que suponer todo lo que no expliques.

No debes hacer 12 cosultas, una por cada mes.
Debes hacer una consulta con un parámetro y rellenar ese parámetro con el número del mes que deseas mostrar.

La consulta es la que te hemos mencionado en posts anteriores.
Quizás la única cosa a agregar sería el año, por si algo vence en el mes que pides, pero del año siguiente

Código SQL [-]
/*
Para los vencimientos de septiembre del 2018
Mes_de_la_consulta = 9
Anyo_de_la_consulta = 2018
*/

select *
from tabla
where
extract(month from vigencia_hasta) = :mes_de_la_consulta and
extract(year from vigencia_hasta) = :anyo_de_la_consulta
hola, les doy un ejemplo de lo que necesito, supongamos que pago el seguro de mi auto hoy 8 de mayo de 2018 y vence el 8 de septiembre de 2018, lo que yo quiero es que se me notifique a principio del mes de septiembre en un formulario, o sea quiero que a principio del mes en que vence la poliza me llegue una notificación
Responder Con Cita
  #14  
Antiguo 09-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Si, y como se ven los datos iniciales? Y como se ven los resultados?
hola esta es mi consulta sql
Código SQL [-]
SELECT * 
FROM clientes 
WHERE DATE(vigencia_hasta) > CURDATE() 
order by nombre

cuando ejecuto la consulta solo muestra los registros superior a la fecha actual osea si tengo un registro con la fecha de vencimiento 2/5/18 no lo muestra, que quiero hacer es que todos los registro que tengan una fecha de vencimiento en el mes de mayo se muestren durante el mes de mayo
Responder Con Cita
  #15  
Antiguo 09-05-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Te pregunto como se ven los datos y me respondes con como es la consulta?

Plop!

----

Basicamente ya te han resuelto el problema. Pero si no lo ves es que necesitas ponerlo de forma "visual". Literalmente. Haz una tabla en excel o lo que sea y pon los datos.
__________________
El malabarista.
Responder Con Cita
  #16  
Antiguo 09-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
perdón no entendí tu pregunta
Responder Con Cita
  #17  
Antiguo 09-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Ante todo:
  • Te agradecería que utilizaras comas, puntos, mayúsculas y minúsculas.
  • Separa las frases para que sean cortas y comprensibles. (escribes de una manera muy críptica).
  • Lee nuevamente lo que has escrito antes de publicarlo, poniéndote en el lugar de quien desea ayudarte. Evite que esa persona tenga que suponer todo lo que no expliques.

No debes hacer 12 cosultas, una por cada mes.
Debes hacer una consulta con un parámetro y rellenar ese parámetro con el número del mes que deseas mostrar.

La consulta es la que te hemos mencionado en posts anteriores.
Quizás la única cosa a agregar sería el año, por si algo vence en el mes que pides, pero del año siguiente

Código SQL [-]
/*
Para los vencimientos de septiembre del 2018
Mes_de_la_consulta = 9
Anyo_de_la_consulta = 2018
*/

select *
from tabla
where
extract(month from vigencia_hasta) = :mes_de_la_consulta and
extract(year from vigencia_hasta) = :anyo_de_la_consulta
hola da los resultados que quiero, ahora como puedo hacer para que los registros se borren automáticamente y cargue registros del mes de octubre gracias
Responder Con Cita
  #18  
Antiguo 09-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.020
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por the walrus Ver Mensaje
hola da los resultados que quiero, ahora como puedo hacer para que los registros se borren automáticamente y cargue registros del mes de octubre gracias
Pues ejecutas la misma sentencia con el parámetro 10
Responder Con Cita
  #19  
Antiguo 09-05-2018
the walrus the walrus is offline
Miembro
NULL
 
Registrado: abr 2018
Posts: 66
Poder: 6
the walrus Va por buen camino
hola, si pero me gustaría que la consulta que extrae el año y el mes de octubre se ejecute en el mes de octubre, y los registros de mes de septiembre se borren automáticamente.
vi que se puede hacer con eventos mysql es posible trabajar con ese método. gracias
Responder Con Cita
  #20  
Antiguo 09-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.020
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No se entiende nada de lo que quieres.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
comparar fecha actual con una guardada en mi base d datos chass Varios 6 26-06-2008 19:58:39
Comparar Fecha Actual con Campo Zakio14 Firebird e Interbase 2 10-04-2008 04:03:32
Comparar una fecha dia/mes de una tabla con la actual. microland Firebird e Interbase 10 28-03-2008 00:25:13
comparar 1 fecha contra la actual amadis SQL 16 02-02-2007 04:35:34
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 22:37:41


La franja horaria es GMT +2. Ahora son las 10:24:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi