Правда Oracle, но думаю должен быть аналогичный подход.
Вот кусок из моего merge:
WHEN MATCHED THEN
UPDATE
SET DATE_E = CASE WHEN (DATE_B = MERGE_SUBQUERY.DATE_B$1)
THEN MERGE_SUBQUERY.DATE_E$1
ELSE DATE_E
END
Можно оба поля обновлять по разным условиям на искомое значение или на себя.