On this page

    Categories: Date/Time


    Truncates the date or timestamp to the indicated precision.


    DATE_TRUNC(time_unit LITERAL, date_timestamp_expression DATE OR TIMESTAMP) → DATE

    • time_unit: The time unit that the date or timestamp needs to be truncated at. This must be the literal value of ‘YEAR’, ‘MONTH’, ‘DAY’, ‘HOUR’, ‘MINUTE’, or ‘SECOND’.
    • date_timestamp_expression: The date or timestamp to truncate. This value must be a literal in the date or timestamp format.


    SELECT DATE_TRUNC('MONTH', '2021-12-24')
    -- 2021-12-01
    SELECT DATE_TRUNC('MINUTE', CAST('2021-12-24 12:28:33' as TIMESTAMP))
    -- 2021-12-24 12:28:00
    SELECT DATE_TRUNC('HOUR', '2021-12-24 12:28:33')
    -- 2021-12-24