Puoi includere un'istruzione CASE nella tua query di aggiornamento che imposterà il campo della data in modo condizionale, in questo modo:
UPDATE MyTable
SET textfield = @newValue,
datefield = (CASE WHEN textfield <> @newValue THEN NOW() ELSE datefield END);
Questa query "imposta" il datefield
allo stesso valore che contiene già se il valore di textfield
non è stato modificato.