How to get data between two dates

Yes, it will pick up rows for which v.Datum_Bedarf is yesterday, today or tomorrow, not counting holidays.

If Datum_Bedarf has a time portion to it, this may not work as you expect it. If that is the case change the two instances of v.Datum_Bedarf in the WHERE clause to CAST(v.Datum_Bedarf as DATE).

Adding the CAST, while simple, is not the most efficient in terms of query performance. So if Datum_Bedarf is already of DATE data type, or if it is guaranteed to have no time portion, don't cast it. If Datum_Bedarf does have time portion, and if the performance is poor after you include the cast, reply back - the WHERE clause can be rewritten to be more efficient.