У меня нет экземпляра Oracle, пригодного для проверки, будет ли Oracle выполнять неявное преобразование типов данных для результатов TO_CHAR, так как оно будет полностью числовым. Тем не менее, мне кажется слишком сложным при сравнении со значением TRUNC'd DATE ...
Для записей, которые в Oracle старше шести месяцев:
n.process_date <= ADD_MONTHS(TRUNC(SYSDATE), -6)
Если вы хотите старше, но не включая шесть месяцев точно - удалите оператор равенства:
n.process_date < ADD_MONTHS(TRUNC(SYSDATE), -6)
Для записей, которые старше шести месяцев в MySQL:
n.process_date <= DATE(DATE_SUB(NOW(), INTERVAL 6 MONTH))
Если вы хотите старше, но не включая шесть месяцев точно - удалите оператор равенства:
n.process_date < DATE(DATE_SUB(NOW(), INTERVAL 6 MONTH))
Для MySQL DATE работает аналогично Oracle TRUNC.