Amr bin Murrah heard from Abdullah bin Amr, the freed slave of Hasan bin Ali (may Allah be pleased with him), that Adi (may Allah be pleased with him) was asked (for something) and he swore that he would not give, but later he gave. Then he said: I heard the Prophet (peace and blessings be upon him) say: "Whoever swears an oath and then sees something better than it, let him give the expiation for his oath and do the better thing."
Hadith Referenceالسنن الكبرى للبيهقي / كتاب الأيمان / 19851