Ето опростена версия, използваща само математика за дати:
SELECT LAST_DAY(NOW()) - ((7 + WEEKDAY(LAST_DAY(NOW())) - 4) % 7);
В зависимост от това как NOW() се оценява (веднъж или два пъти на изявление), може да искате да увиете това във функция и да съхраните резултата от NOW() в променлива и след това използвайте променливата за LAST_DAY(var) обаждане, за да избегнете състояние на състезание, при което месецът се преобръща между извикванията на NOW() .