Probablemente no se ha entendido, pero el BETWEEN necesita ser aplicado a una columna que se compara con un rango, o bien un valor por parámetro se compara contra un rango definido por dos columnas.
o bien
En cualquiera de los dos casos, al menos uno de los componentes debe estar en el registro de la tabla usada; o el valor o el rango.
Lo que no puede ser es que los tres componentes (valor, límite inferior y límite superior) lleguen como parámetros por programación.
Nunca.
Un detalle más: Una edad es algo
móvil, porque siempre se referencia a la fecha actual al momento de la ejecución de la consulta. Jamás se almacena como numero, sino que lo que se almacena es la
fecha de nacimiento.
La edad siempre se origina en un cálculo, y
los valores calculables no se guardan jamás en la base de datos.