Если вам нужно часто выбирать по месяцам, вы можете добавить в таблицу два вычисляемых столбца - один для месяца, другой для года:
ALTER TABLE dbo.YourTable
ADD DatePlacedYear AS YEAR(DatePlaced) PERSISTED
ALTER TABLE dbo.YourTable
ADD DatePlacedMonth AS MONTH(DatePlaced) PERSISTED
Эти два новых столбца автоматически вычисляются SQL Server, они сохраняются (например, часть хранилища таблицы), и вы даже можете поместить в них индекс, если это имеет смысл для вас.
Теперь вы можете использовать запрос вроде:
SELECT (columns)
FROM dbo.YourTable
WHERE DatePlacedYear = 2012 AND DatePlacedMonth = 2
чтобы получить все данные за февраль 2012 года.
Это классический компромисс между скоростью и пространством - сохраняя два дополнительных столбца для каждой строки, вам нужно больше места - но в свою очередь, запросы становятся проще, и если у вас есть индекс для (DatePlacedYear, DatePlacedMonth)
, ваши запросы должен (в идеале) быть довольно быстрым.