I don't have an Oracle instance handy to test if Oracle will do implicit data type conversion on the TO_CHAR results being that it will be entirely numeric. Still, seems over complicated to me when comparing to a TRUNC'd DATE value...
For records that are six months or older in Oracle:
n.process_date <= ADD_MONTHS(TRUNC(SYSDATE), -6)
If you want older but not including six months exactly - remove the equals operator:
n.process_date < ADD_MONTHS(TRUNC(SYSDATE), -6)
For records that are six months or older in MySQL:
n.process_date <= DATE(DATE_SUB(NOW(), INTERVAL 6 MONTH))
If you want older but not including six months exactly - remove the equals operator:
n.process_date < DATE(DATE_SUB(NOW(), INTERVAL 6 MONTH))
For MySQL, DATE is performing similar to Oracle's TRUNC.