Oracle的表服务器提供了一个内置函数TRUNC(timestamp,'DY') 。 这个函数将前一个星期天的任何时间戳转换为午夜。 什么是在MySQL中做到这一点的最好方法? Oracle还提供了TRUNC(timestamp,'MM') ,将时间戳转换为发生月份的第一天的午夜。 在MySQL中,这个很简单: TIMESTAMP(DATE_FORMAT(timestamp, '%Y-%m-01')) 但是这个DATE_FORMAT技巧在几个星期内不会运行。 我知道WEEK(timestamp)function,但我真的不希望在一年内的周数; 这东西是为了多年的工作。