Sunan Ibn Majah 2111
It was narrated from 'Amr bin Shu'aib, from his father, that his grandfather said that the Prophet (ﷺ) said:
"Whoever swears an oath then sees  that something else is better than it, let him not do it, and his leaving it is the expiation for it. "
حَدَّثَنَا عَبْدُ اللَّهِ بْنُ عَبْدِ الْمُؤْمِنِ الْوَاسِطِيُّ، حَدَّثَنَا عَوْنُ بْنُ عُمَارَةَ، حَدَّثَنَا رَوْحُ بْنُ الْقَاسِمِ، عَنْ عُبَيْدِ اللَّهِ بْنِ عُمَرَ، عَنْ عَمْرِو بْنِ شُعَيْبٍ، عَنْ أَبِيهِ، عَنْ جَدِّهِ، ‏.‏ أَنَّ النَّبِيَّ ـ صلى الله عليه وسلم ـ قَالَ ‏
"‏ مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا فَلْيَتْرُكْهَا فَإِنَّ تَرْكَهَا كَفَّارَتُهَا ‏"‏ ‏.‏