Bases de Datos > SQL Server

 Ayudilla

(1/3) > >>

carlos_lue:
Hola a todos, alguin me puede ayudar con este codigo, lo que pasa es que no recuerdo como se utiliza el BETWEEN, si alguin me puede proporcionar un manual, gracias..


SELECT Producto.Descripcion
FROM Factura, Producto WHERE Factura.Fecha BETWEEN '"01/01/2005" AND "25/01/2005"';

JuanK:
Tu problema no es como se usa el BETWEEN, es de conversion de datos

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] Producto.Descripcion
FROM Factura, Producto
WHERE to_number( to_char(Factura.Fecha,'yyyymmdd'))
BETWEEN 20050101 AND 20050125;
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

mateamargo:

--- Cita de: "carlos_lue" --- Hola a todos, alguin me puede ayudar con este codigo, lo que pasa es que no recuerdo como se utiliza el BETWEEN, si alguin me puede proporcionar un manual, gracias..


SELECT Producto.Descripcion
FROM Factura, Producto WHERE Factura.Fecha BETWEEN '"01/01/2005" AND "25/01/2005"';
--- Fin de la cita ---
Hiciste casi todo bien, excepto por dos detalles.
Las fechas en SQL se escriben con el formato 'yyyy-mm-dd' y el otro es el uso de las comillas. Recordá que se usan comillas simples ' y no las dobles ". Vos hiciste una combinación de ambas. Arreglando eso no deberías de tener problemas en la consulta, siempre y cuando ambos campos sean del tipo DateTime.

O sea, quedaría así:


--- Código: Text --- SELECT Producto.DescripcionFROM Factura, Producto WHERE Factura.Fecha BETWEEN '2005-01-01' AND '2005-01-25';  
Saludos.

JuanK:
mateamargo loq eu has explicado es SQL Server verdad?
porque en SQL standart no funciona.

Por otro lado lo del formato de la fecha  es falso que


--- Citar ---se escriben con el formato 'yyyy-mm-dd'
--- Fin de la cita ---

pues normalmente es una variable de entorno la que define el formato de la fecha para aparecer en pantalla y es modificable ese formato  apartir del uso de to_char, claro que ya veo que usas SQL Server y es bien conocido que no siempre manejan las cosas dentro del stantdart asi que creo que lo que has usado si funciona en este motor de BD.

mateamargo:
Esa sintaxis a mi me funciona, es más, el libro en el que yo consulto dice que ese es el formato del ANSI SQL por defecto, así que debería funcionar tanto en SQL Server como en otros.
Aunque deduzco que el ; que está al final de la sentencia lo puso porque es un SQL Embebido en alguna aplicación.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa