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

Excluir una fecha (o rango) en el where

Estas en el tema de Excluir una fecha (o rango) en el where en el foro de Mysql en Foros del Web. Hola a todos Tengo una consulta ejemplo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original Select * From tabla Where fecha between '2009-05-01' and '2009-05-31' lo que ...
  #1 (permalink)  
Antiguo 08/06/2009, 08:30
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Excluir una fecha (o rango) en el where

Hola a todos

Tengo una consulta

ejemplo
Código MySQL:
Ver original
  1. From tabla
  2. Where fecha between '2009-05-01' and '2009-05-31'

lo que necesito ahora es excluir un día de este periodo y no logro hacerlo.
probé con esto pero nada

Código MySQL:
Ver original
  1. WHERE  fecha BETWEEN '2009-05-01' AND '2009-05-15'
  2. AND fecha BETWEEN '2009-05-17' AND '2009-05-31'

o
Código MySQL:
Ver original
  1. WHERE  fecha BETWEEN '2009-05-01' AND '2009-05-15'
  2. AND  '2009-05-17' AND '2009-05-31'

se agradece su ayuda
  #2 (permalink)  
Antiguo 08/06/2009, 08:39
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Excluir una fecha (o rango) en el where

hola chelodelsur

el campo fecha esta declarado como date o datetime??
si no es asi, posiblemente ahi esta el error...

saludos
  #3 (permalink)  
Antiguo 08/06/2009, 08:42
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Excluir una fecha (o rango) en el where

así te debe funcionar:

Código mysql:
Ver original
  1. FROM tabla
  2. WHERE fecha <> '2009-05-16' and fecha BETWEEN '2009-05-01' AND '2009-05-31'

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 08/06/2009, 08:47
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Excluir una fecha (o rango) en el where

UUfff que velocidad de respuesta


Muchas gracias Huesos52, quedo perfecto, y lo mejor he aprendido algo nuevo hoy


Saludos Huesos52, y a todo el foro

Chelodelsur
  #5 (permalink)  
Antiguo 08/06/2009, 09:16
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Excluir una fecha (o rango) en el where

mmm

otra duda

y si la exclusión fuera un rango????, para el mismo ejemplo.
si el campo fuera un datetime y necesito excluir el 2009-05-16 00:00:00 hasta el 2009-05-16 23:59:00. O si fuera desde el 2009-05-16 hasta el 2009-05-18 ???

Una vez más gracias
  #6 (permalink)  
Antiguo 08/06/2009, 09:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Excluir una fecha (o rango) en el where

chelodelsur,
prueba con NOT BETWEEN
...AND NOT BETWEEN '2009-05-16 00:00:00' AND '2009-05-16 23:59:00'
no lo he probado
  #7 (permalink)  
Antiguo 08/06/2009, 09:30
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Excluir una fecha (o rango) en el where

jajjaj

me ganaste, uf f lo habia sacado

Código mysql:
Ver original
  1. WHERE NOT(fecha_date2 BETWEEN '2009-05-16 00:00:00' AND '2009-05-16 23:59:00') AND fecha_date2 BETWEEN '2009-05-01 00:00:00' AND '2009-05-31 23:59:00'

esto funciona

Gracias Jurena
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:12.