date_trunc

date_trunc

description

Syntax

DATETIME DATE_TRUNC(DATETIME datetime, VARCHAR unit)

将datetime按照指定的时间单位截断。

datetime 参数是合法的日期表达式。

unit 参数是您希望截断的时间间隔,可选的值如下:[second,minute,hour,day,week,month,quarter,year]。

example

  1. mysql> select date_trunc('2010-12-02 19:28:30', 'second');
  2. +-------------------------------------------------+
  3. | date_trunc('2010-12-02 19:28:30', 'second') |
  4. +-------------------------------------------------+
  5. | 2010-12-02 19:28:30 |
  6. +-------------------------------------------------+
  7. mysql> select date_trunc('2010-12-02 19:28:30', 'minute');
  8. +-------------------------------------------------+
  9. | date_trunc('2010-12-02 19:28:30', 'minute') |
  10. +-------------------------------------------------+
  11. | 2010-12-02 19:28:00 |
  12. +-------------------------------------------------+
  13. mysql> select date_trunc('2010-12-02 19:28:30', 'hour');
  14. +-------------------------------------------------+
  15. | date_trunc('2010-12-02 19:28:30', 'hour') |
  16. +-------------------------------------------------+
  17. | 2010-12-02 19:00:00 |
  18. +-------------------------------------------------+
  19. mysql> select date_trunc('2010-12-02 19:28:30', 'day');
  20. +-------------------------------------------------+
  21. | date_trunc('2010-12-02 19:28:30', 'day') |
  22. +-------------------------------------------------+
  23. | 2010-12-02 00:00:00 |
  24. +-------------------------------------------------+
  25. mysql> select date_trunc('2023-4-05 19:28:30', 'week');
  26. +-------------------------------------------+
  27. | date_trunc('2023-04-05 19:28:30', 'week') |
  28. +-------------------------------------------+
  29. | 2023-04-03 00:00:00 |
  30. +-------------------------------------------+
  31. mysql> select date_trunc('2010-12-02 19:28:30', 'month');
  32. +-------------------------------------------------+
  33. | date_trunc('2010-12-02 19:28:30', 'month') |
  34. +-------------------------------------------------+
  35. | 2010-12-01 00:00:00 |
  36. +-------------------------------------------------+
  37. mysql> select date_trunc('2010-12-02 19:28:30', 'quarter');
  38. +-------------------------------------------------+
  39. | date_trunc('2010-12-02 19:28:30', 'quarter') |
  40. +-------------------------------------------------+
  41. | 2010-10-01 00:00:00 |
  42. +-------------------------------------------------+
  43. mysql> select date_trunc('2010-12-02 19:28:30', 'year');
  44. +-------------------------------------------------+
  45. | date_trunc('2010-12-02 19:28:30', 'year') |
  46. +-------------------------------------------------+
  47. | 2010-01-01 00:00:00 |
  48. +-------------------------------------------------+

keywords

DATE_TRUNC,DATE,TRUNC