Zde je zjednodušená verze využívající pouze datovou matematiku:
SELECT LAST_DAY(NOW()) - ((7 + WEEKDAY(LAST_DAY(NOW())) - 4) % 7);
Podle toho, jak NOW()
se vyhodnotí (jednou nebo dvakrát na příkaz), možná to budete chtít ještě zabalit do funkce a uložit výsledek NOW()
do proměnné a poté proměnnou použijte pro LAST_DAY(var)
volání, abyste se vyhnuli konfliktnímu stavu, kdy se měsíc mezi voláními NOW()
převaluje .