• If you are looking to return just the items despatched during the last calendar month, try using something like this:

    where oh.date_despatched between convert(char, dateadd(mm, -1, dateadd(dd, -(day(getdate()) - 1), getdate())), 112) and convert(char, dateadd(dd, -day(getdate()), getdate()), 112)

    This calculates the 1st day of the preceeding month and the last day of the preceeding month with no reference to the year datepart and therefore will not be affected when the year rolls over.