The question I would ask is where are you displaying the output. Is it in Excel, reporting services? I gather you want to get sales per month or something similar for this. My query would look something like this.
SELECT DATEADD( MONTH, DATEDIFF( MONTH, 0, '11-Jan-2009'), 0)
Then the aggregation on that, and in the report I would format it to be MMM-yyyy.