Du kannst auch Date und Year verwenden bzw. Datepart:
Select * from Auftrag where Month(Datum) = :Monat and Year(Datum) = :Jahr
order
Select * from Auftrag where Datepart(Month, Datum) = :Monat and DatePart(Year, Datum) = :Jahr
Deine ursprünglich geplante Abfrage mit LIKE würde so funktionieren:
SQL-Code:
//
SQL-Server konvertiert Datumswerte automatisch
in Strings: yyyy-mm-dd hh:nn:ss.zzzz
Select *
from Auftrag
where Datum
like :Datum
... und den Wert füllst Du dann so:
Delphi-Quellcode:
AdoQuery.ParamByName('Datum').AsString := FormatDateTime('yyyy-mm',dtPruefmonat)+'%';
AdoQuery.Open;