SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: field10pg en Martes 29 de Abril de 2008, 00:31

Título: Problemas Entre Fechas Between
Publicado por: field10pg en Martes 29 de Abril de 2008, 00:31
Hola gente tengo un pequeño problema que no logro resolver, con el teme de la bsuqueda en tre fechas:
Tengo esto
 $consulta = "SELECT * FROM Albaranes WHERE FECHA_ALBARAN between '28/12/2006' and  '28/12/2006' ";

y me devuelve el error:
No coinciden los tipos de datos en la expresión de criterios., SQL state 22005
pero si funciona :
consulta = "SELECT * FROM Albaranes WHERE FECHA_ALBARAN like  '28/12/2006' ";

no entiendo cual es el problema.

Un saludo a todos
Gracias
Título: Re: Problemas Entre Fechas Between
Publicado por: Mollense en Martes 29 de Abril de 2008, 01:48
Probé la primer linea en SQL SERVER 2005 con un campo de tipo datetime y funciona bien.
¿De que tipo es el campo FECHA_ALBARAN?
Título: Re: Problemas Entre Fechas Between
Publicado por: field10pg en Martes 29 de Abril de 2008, 09:35
Gracias por contestar Mollense.

El campo es de timpo FECHA/HORA y es un acceso via ODB con una tabla de *.mdb (access).
Pero, he probado poner la fecha completa con las 'd/m/aaaa H:M:S' ó 'aaaa/m/d H:M:S' pero no consigo solucionarlo.
Peso lo raro es que la consulta simple si funciona.
Título: Re: Problemas Entre Fechas Between
Publicado por: shadow_rev en Martes 29 de Abril de 2008, 21:24
Probaste si funciona con otros formatos de fecha ??

P.E, 2008-04-29, 04/29/2008, 20080429, etc. con comillas y sin comillas

Y otra cosa, ¿Este thread no debería ir en la sección de Bases de Datos?
Título: Re: Problemas Entre Fechas Between
Publicado por: neorent en Miércoles 30 de Abril de 2008, 19:40
pregunta?
la tabla es la correcta?
el campo esta bien escrito?
el campo tiene valores null?

revise eso primero y creo que la consulta esta bien no tiene nada de malo ya que yo mismo he trabajado con odbc y me funcionan bien las consultas, quizas si pones el cosigo completo podemos ayudarte un poco mas,
saludos,
Neo.
Título: Re: Problemas Entre Fechas Between
Publicado por: likibuay en Miércoles 30 de Abril de 2008, 21:59
la instruccion esta bien...
trata cambiando el formato de la fecha a ver q tal. :blink:
Título: Re: Problemas Entre Fechas Between
Publicado por: punteroNULO en Viernes 2 de Mayo de 2008, 13:19
el formato de la fecha en las comparaciones es "aaaa/mm/dd".

Debes poner "2006/12/28"

cuando se insertan los datos se utiliza el mismo formato

siempre que el campo FECHA_ALBARAN sea de tipo date
Título: Re: Problemas Entre Fechas Between
Publicado por: field10pg en Viernes 2 de Mayo de 2008, 19:58
Chiscos lo he probado todo el campo es de tipo DATE and Time.
Sigo diciendo lo mismo si hago la consulta solo:
$consulta = "SELECT * FROM Albaranes WHERE FECHA_ALBARAN  = '28/12/06' ";
Funciona correctamente pero al poner:
  $consulta = "SELECT * FROM Albaranes WHERE FECHA_ALBARAN between '28/12/06' and  '29/12/06'";
Me da error:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios., SQL state 22005 in SQLExecDirect

Un saludo a todos
Gracias
Título: Re: Problemas Entre Fechas Between
Publicado por: field10pg en Domingo 4 de Mayo de 2008, 11:58
Yas esta claro chicos/as:

$consulta = "SELECT * FROM Albaranes WHERE FECHA_ALBARAN between #26/12/2006# and #28/12/2006# by FECHA_ALBARAN";

Tenia que poner el caranter "#" antes y despues de la fecha para que funcione.

Un saludo
Gracias.