|
1 | 1 | {%- macro convert_timezone(column, target_tz=None, source_tz=None) -%}
|
| 2 | +{%- set source_tz = "UTC" if not source_tz else source_tz -%} |
2 | 3 | {%- set target_tz = var("dbt_date:time_zone") if not target_tz else target_tz -%}
|
3 | 4 | {{ adapter.dispatch('convert_timezone', packages = dbt_date._get_utils_namespaces()) (column, target_tz, source_tz) }}
|
4 | 5 | {%- endmacro -%}
|
5 | 6 |
|
6 | 7 | {% macro default__convert_timezone(column, target_tz, source_tz) -%}
|
7 |
| - {%- if not source_tz -%} |
8 |
| - cast(convert_timezone('{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }}) |
9 |
| - {%- else -%} |
10 |
| - cast(convert_timezone('{{ source_tz }}', '{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }}) |
11 |
| - {%- endif -%} |
| 8 | +{%- if not source_tz -%} |
| 9 | +cast(convert_timezone('{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }}) |
| 10 | +{%- else -%} |
| 11 | +cast(convert_timezone('{{ source_tz }}', '{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }}) |
| 12 | +{%- endif -%} |
12 | 13 | {%- endmacro -%}
|
13 | 14 |
|
14 | 15 | {%- macro bigquery__convert_timezone(column, target_tz, source_tz=None) -%}
|
15 |
| - timestamp(datetime({{ column }}, '{{ target_tz}}')) |
| 16 | +timestamp(datetime({{ column }}, '{{ target_tz}}')) |
| 17 | +{%- endmacro -%} |
| 18 | + |
| 19 | +{%- macro spark__convert_timezone(column, target_tz, source_tz) -%} |
| 20 | +from_utc_timestamp( |
| 21 | + to_utc_timestamp({{ column }}, '{{ source_tz }}'), |
| 22 | + '{{ target_tz }}' |
| 23 | + ) |
16 | 24 | {%- endmacro -%}
|
0 commit comments