Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/11/2007, 10:56
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: ayuda con consulta between

la cláusula BETWEEN opera como cotas de rango cerrado superior e inferior. Incluyen los dos topes, cuando buscar un valor que está entre "1.500" y "3.000", como la comparación es byte a byte tomando por el primer valor de la izquierda, NUNCA podría considerar el dato en cuestión: Simplemente está fuera del rango.

Para que la consulta funcionara realmente, deberías replantear completamente la construcción de la tabla.

Me resulta un poco extraña la explicación de que debe salir el punto ("."), eso solamente tiene sentido si la salida de datos es tomada después sin procesar en la interfase, cosa bastante extraña. En realidad, la representación del dato en pantalla es problema de la interfase, no de la base de datos, y es en la interfase donde debe resolverse cómo se representa el número.
Al respecto, te sugiero que veas el uso de las funciones FORMAT, tanto en VB.Net como en MySQL, así como las de CONCAT, CAST y CONVERT, para independizar el uso de la tabla de la representación del dato (ten en cuenta que al usar VARCHAR estás produciendo un desperdicio de espacio de almacenamiento: un INT usa 4 bytes (2^32) contra 255 bytes).
¿En qué consiste esta aplicación de BD?

Última edición por gnzsoloyo; 30/11/2007 a las 11:02