Der Tabellenserver von Oracle bietet eine integrierte Funktion TRUNC(timestamp,'DY')
. Diese Funktion konvertiert jeden Zeitstempel am vorherigen Sonntag in Mitternacht. Was ist der beste Weg, dies in MySQL zu tun?
Oracle bietet außerdem TRUNC(timestamp,'MM')
an, einen Zeitstempel am ersten Tag des Monats, in dem er auftritt, auf Mitternacht umzustellen. In MySQL ist dies unkompliziert:
TIMESTAMP(DATE_FORMAT(timestamp, '%Y-%m-01'))
Aber dieser DATE_FORMAT
Trick wird wochenlang nicht funktionieren. Ich bin mir der WEEK(timestamp)
Funktion bewusst , aber ich möchte wirklich keine Wochennummer innerhalb des Jahres. Dieses Zeug ist für mehrjährige Arbeit.
TRUNC(date, 'DY' )
bekommt Wochen mit einem Sonntagsstart. 'W'
bekommt einen Montagstart, zumindest in meinem System.