А почему вы считаете что неработает? Вы какие значения вводите в переменные b и f и какое значение по вашему не попадает в это диапазон? 
Вы пробовали пошагово выполнить и посмотреть, что и чему равно в момент сравнения? 
Возможно проблема как-то связано с временем которое не отображается в дате. Возможно еще, что системный формат даты несколько отличается от формата хранения в БД. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |