Una cosa importante a tener en cuenta:
NULL es NULL. NULL es un valor indefinido según el estándar SQL. Al ser indefinido, NULL no es ni mayor ni menor a `
''´ ni tampoco es igual. NULL es un valor único que solo es similar a NULL. Si lo que quieres es devolver opcionalmente los valores NULL tendrás que indicarlo en la consulta. Por ejemplo:
Código SQL
[-]Select * From Apuntes Where (familia between :familia_start and :familia_end) or (familia is NULL)
Ten en cuenta que el operador indicado para trabajar con NULL es `
is´. NULL es tan especial que los demás operadores no son recomendados para trabar con él.
Saludos!