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

Query de fechas

Estas en el tema de Query de fechas en el foro de Mysql en Foros del Web. Saludos, He estado probando un query pero no he logrado hacer que me arooje los resultados deseado, tengo una tabla con los siguientes datos @import ...
  #1 (permalink)  
Antiguo 04/07/2012, 16:07
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Query de fechas

Saludos,
He estado probando un query pero no he logrado hacer que me arooje los resultados deseado,

tengo una tabla con los siguientes datos
Código MySQL:
Ver original
  1. intActivo   dtdFechainicial     dtdFechaFinal   intFKIDCentroCosto  intPorcentaje
  2.         1   2012-07-03  2012-07-05  1   99
  3.         0   2012-07-07  0000-00-00  1   1
  4.         0   2012-07-07  0000-00-00  2   33
estoy intentando crear una consulta para evitar introducir fechas del mismo dia del mismo centro de costo por ejemplo

con estas fechas podria insertar en el centro de costo numero 2
fecha inicial:2012-07-01
fecha final:2012-07-06
por que no se empalmarian las fechas

pero con estas nose deberia insertar
fecha inicial:2012-07-01
fecha final:2012-07-07
por que la fecha final estaria en el mismo dia de la fecha inicial del centro de costo actual
para evitar insertarlo hago una consulta donde si encuentra el centro de costo numero 2 dentro del rango de esas fechas me arroje un registro
Código MySQL:
Ver original
  1. //EJEMPLO DE ERROR POR QUE ME ARROJA UN REGISTRO
  2. fecha incial :2012-07-01
  3. fecha final:2012-07-07
  4. SELECT intActivo,dtdFechainicial,dtdFechaFinal,intFKIDCentroCosto,intPorcentaje FROM tblHistoricoCentroCostos
  5. WHERE intFKIDCentroCosto='2'
  6. AND (dtdFechaInicial<='2012-07-01' OR dtdFechaInicial<='2012-07-07')
Código MySQL:
Ver original
  1. //EJEMPLO DE ACIERTO POR QUE NO REGRESA UN REGISTRO
  2. fecha incial :2012-07-01
  3. fecha final:2012-07-06
  4. SELECT intActivo,dtdFechainicial,dtdFechaFinal,intFKIDCentroCosto,intPorcentaje FROM tblHistoricoCentroCostos
  5. WHERE intFKIDCentroCosto='2'
  6. AND (dtdFechaInicial<='2012-07-01' OR dtdFechaInicial<='2012-07-06')

El detalle es que pueden ingresar vacio en la fecha final lo que indica que es indefinido el tiempo o infinito, y es lo que me causa conflicto por ejemplo en la que no deberia pasar osea arrojarme un registro es:
Código MySQL:
Ver original
  1. fecha incial :2012-07-01
  2. fecha final:0000-00-00
  3. SELECT intActivo,dtdFechainicial,dtdFechaFinal,intFKIDCentroCosto,intPorcentaje FROM tblHistoricoCentroCostos
  4. WHERE intFKIDCentroCosto='2'
  5. AND intFKIDEmpleado='279'
  6. AND (dtdFechaInicial<='2012-07-01' OR dtdFechaInicial<='0000-00-00')
no quisiera hacer un hardcode como por ejemplo si viene 0000-00-00 colocar 3000-00-00 y asi hacer que funcione , alguno tiene otra solucion ?
de antemano gracias
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #2 (permalink)  
Antiguo 06/07/2012, 05:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 157
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Query de fechas

yo el tema de las fechas lo he cortado por lo sano directamente, lo trato como numeros en formato AAAAMMDD y asi solucionado en las consultas.

Etiquetas: query, select, tabla
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:07.