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