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í:
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.