Обычно я использую его как строковый параметр из-за временной части.
Идея состоит в том, чтобы иметь независимый от настроек формат, например, '11 -NOV-2010 12: 32: 25 '
Например, вы можете попробовать
ParamByName('pTranDate').AsString := FormatSQLDateTime(sBATCH_DATE);
Где вы должны иметь функции, подобные этим
function FormatSQLDate(date: TDate) : string;
const months : array[1..12] of string[3] =
('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC');
var d, y : integer;
m : string[3];
begin
d := DayOf(date);
y := YearOf(date);
m := months[MonthOf(date)];
Result := Format('%d-%s-%d', [d, m, y]);
end;
function FormatSQLDateTime(date : TDateTime) : String;
var
d : String;
h, m, s : Integer;
begin
d := SQLDate(date);
h := HourOf(date);
m := MinuteOf(date);
s := SecondOf(date);
Result := d + Format(' %d:%d:%d', [h, m, s]);
end;
Обратите внимание, что вы также можете что-то отработать на стороне сервера с использованием sql extract
extract(day from timestamp_field)
http://www.firebirdsql.org/refdocs/langrefupd20-extract.html