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

[B]aplicaciones de between[/B]

Estas en el tema de [B]aplicaciones de between[/B] en el foro de Mysql en Foros del Web. Una consulta, es lícito utilizar BETWEEN en datos de tipo VARCHAR por ejemplo de forma C00,C01, C02..... ??????????????? Al realizar la consulta efectivamente funciona, pero ...
  #1 (permalink)  
Antiguo 06/03/2010, 20:04
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
Exclamación [B]aplicaciones de between[/B]

Una consulta, es lícito utilizar BETWEEN en datos de tipo VARCHAR por ejemplo de forma C00,C01, C02..... ???????????????
Al realizar la consulta efectivamente funciona, pero me cuestiono su funcionamiento en otros casos.
  #2 (permalink)  
Antiguo 07/03/2010, 07:48
Avatar de 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
Respuesta: [B]aplicaciones de between[/B]

BETWEEN actúa sobre valores, sin importar de qué tipo de valores se trate.
La únicas condiciones que tienen es que tienen son:
- Los valores de referencia deben estar en orden ascendente (mayor - menor).
- Los tres valores implicados en la comparación deben ser del mismo tipo. Si no lo son, MySQL realizará una conversión implícita, y si la conversión es entre valores incompatibles la consulta devolverá nulos.

Esto último se debe a que si estás comparando datos de tipos inconsistentes, simplemente no habrá coincidencias... Este caso lo puedes comprender si piensas en algo así:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE DATE(fecha_en_tabla) BETWEEN 12 AND 4563;

En este ejemplo estarías comparando una fecha con dos enteros... Cuando MySQL intente convertir el 12 y el 4563 en fechas el resultado será NULL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 19:40.