Mishkat al-Masabih
Abu Huraira reported God’s Messenger as saying, "If anyone swears an oath and considers something else to be better than it he should make atonement for his oath and do that.” Muslim transmitted it.
وَعَنْ أَبِي هُرَيْرَةَ أَنَّ رَسُولَ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ قَالَ: «مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى خَيْرًا مِنْهَا فَلْيُكَفِّرْ عَنْ يَمِينِهِ وليفعل» . رَوَاهُ مُسلم
Reference