我设置了一个名为年份的变量。 我想使用 dateadd 函数,但不是像下面的示例那样使用 from_date_or_timestamp
{{ dbt_utils.dateadd(datepart='day', interval=1, from_date_or_timestamp="'2017-01-01'") }}
我想使用变量年份与月份和日期连接,如下所示
{{ dbt_utils.dateadd(datepart='day', interval=1, from_date_or_timestamp= year ~ '-01-01') }}
但是我无法让它工作...有人可以帮助我吗?
最佳答案
解决此问题的方法可能如下:
{% set year = 2021 %}
select
{{ dbt_utils.dateadd(
datepart = 'day',
interval = 1,
from_date_or_timestamp = "'" ~ year ~ "-01-01'"
)
}} as date_add_field
由于您需要输入 from_date_or_timestamp
为字符串,因此添加尾部 '
,然后添加 -01-01'
,两者均进行包装在 ""
中,您将使其正常工作。编译的 SQL 将如下所示(我使用的是 Snowflake,您编译的 SQL 可能会延迟):
select
dateadd(day, 1, '2021-01-01') as date_add_field
关于jinja2 - 如何在 dbt 中使用与 dbt_utils.dateadd 中的字符串连接的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74235293/