Sunan an-Nasa'i
It was narrated that 'Adiyy bin Hatim said: "The Messenger of Allah (ﷺ) said: 'Whoever swears an oath, then sees something better than it, let him leave his oath, and do that which is better, and offer expiation for it.'"
أَخْبَرَنَا هَنَّادُ بْنُ السَّرِيِّ، عَنْ أَبِي بَكْرِ بْنِ عَيَّاشٍ، عَنْ عَبْدِ الْعَزِيزِ بْنِ رُفَيْعٍ، عَنْ تَمِيمِ بْنِ طَرَفَةَ، عَنْ عَدِيِّ بْنِ حَاتِمٍ، قَالَ قَالَ رَسُولُ اللَّهِ صلى الله عليه وسلم " مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا فَلْيَدَعْ يَمِينَهُ وَلْيَأْتِ الَّذِي هُوَ خَيْرٌ وَلْيُكَفِّرْهَا " .
Grade: sahih (Darussalam)
Reference