Sunan Ibn Majah 2108
It was narrated from 'Adi bin Hatim that :
the Messenger of Allah (ﷺ), said: "Whoever swears an oath then sees that something else is better than it, let him do that which is better and offer expiation for what he swore about. "
حَدَّثَنَا عَلِيُّ بْنُ مُحَمَّدٍ، وَعَبْدُ اللَّهِ بْنُ عَامِرِ بْنِ زُرَارَةَ، قَالاَ حَدَّثَنَا أَبُو بَكْرِ بْنُ عَيَّاشٍ، عَنْ عَبْدِ الْعَزِيزِ بْنِ رُفَيْعٍ، عَنْ تَمِيمِ بْنِ طَرَفَةَ، عَنْ عَدِيِّ بْنِ حَاتِمٍ، قَالَ قَالَ رَسُولُ اللَّهِ ـ صلى الله عليه وسلم ـ ‏
"‏ مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا فَلْيَأْتِ الَّذِي هُوَ خَيْرٌ وَلْيُكَفِّرْ عَنْ يَمِينِهِ ‏"‏ ‏.‏