Vous pouvez inclure une instruction CASE dans votre requête de mise à jour qui définira le champ de date de manière conditionnelle, comme ceci :
UPDATE MyTable
SET textfield = @newValue,
datefield = (CASE WHEN textfield <> @newValue THEN NOW() ELSE datefield END);
Cette requête "définit" le datefield
à la même valeur qu'il contient déjà si la valeur de textfield
n'a pas été modifié.