data-dwh-dbt-project/macros/unix_ms_timestamp_to_utc.sql
2024-10-14 11:37:37 +02:00

22 lines
812 B
SQL

/*
This macro converts a timestamp column from Unix epoch time (in milliseconds)
to a UTC timestamp and a corresponding UTC date.
It generates two output fields:
1. The timestamp in UTC, with the alias formatted as <column_name>_at_utc.
2. The date in UTC, with the alias formatted as <column_name>_date_utc.
This macro is intended to be used within a SELECT statement
and ensures that the output is properly formatted for further analysis.
*/
{% macro unix_ms_timestamp_to_utc(column_name, table_alias=None) %}
{%- if table_alias -%}
to_timestamp(
{{ adapter.quote(table_alias) }}.{{ adapter.quote(column_name) }} / 1000
) at time zone 'UTC'
{%- else -%}
to_timestamp({{ adapter.quote(column_name) }} / 1000) at time zone 'UTC'
{%- endif -%}
{% endmacro %}