dbt/include/maxcompute/macros/utils/last_day.sql (16 lines of code) (raw):

{%- macro maxcompute_last_day(date, datepart) -%} {% set datepart = datepart.lower() %} {%- if datepart == 'quarter' -%} {{ exceptions.raise_compiler_error("macro last_day not support for datepart ~ '" ~ datepart ~ "'") }} {%- else -%} cast( {{ dbt.dateadd('day', '-1', dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date) ) ) }} as date) {%- endif -%} {%- endmacro -%}