было бы лучше сделать это на стороне DB2, чтобы уменьшить количество записей, привезенных.
Кроме того, с точки зрения производительности лучше преобразовать статическую дату в числовую дату и сравнить ее с столбцом в таблице. Вместо того, чтобы преобразовать числовую дату в вашей таблице в фактический тип даты для сравнения.
where numdate >= int(replace(char(current_date - 14 days,iso),'-',''))
Выполнение этого способа позволит вам использовать индекс над numdate. Кроме того, DB2 необходимо будет выполнить однократное преобразование.
В зависимости от вашей платформы &, у вас может быть более простой способ преобразования из типа данных даты в числовую дату. Но выше работает в DB2 for i и должно работать на большинстве (всех?) Версий и платформ DB2.
Возможно, вам стоит создать UDF, чтобы сделать это преобразование для вас.