Ofrece el servidor de la tabla de Oracle una función incorporada, TRUNC(timestamp,'DY')
. Esta función convierte cualquier marca de tiempo a la medianoche del domingo anterior. ¿Cuál es la mejor manera de hacer esto en MySQL?
Oracle también ofrece TRUNC(timestamp,'MM')
convertir una marca de tiempo a la medianoche del primer día del mes en que ocurre. En MySQL, este es sencillo:
TIMESTAMP(DATE_FORMAT(timestamp, '%Y-%m-01'))
Pero este DATE_FORMAT
truco no funcionará durante semanas. Soy consciente de la WEEK(timestamp)
función, pero realmente no quiero un número de semana dentro del año; este material es para trabajos de varios años.
TRUNC(date, 'DY' )
obtiene semanas con un comienzo en domingo.'W'
comienza el lunes, al menos en mi sistema.