创建一个变量以查看模型 运行 与 dbt 的日期

create a variable to see date when model was run with dbt

我需要在我的 dbt 模型中添加一列,该列显示模型为 运行 时的当前日期。

我尝试 {{ run_started_at.strftime("%Y-%m-%d") }} 将其直接添加到我的模型中,还尝试设置一个名为 date 的变量并创建这段代码 ( {% set report_date = dbt_utils.get_query_results_as_dict("select dateadd(day,-1,current_date()) as col")["COL"][0] %} ),但问题是日期,就像我们今天在 2021-12-14 一样,该列的结果是 1995(这是 2021 - 12 - 14 的减法)。那么,现在有人可以将此变量转换为日期吗?谢谢!

嗯,我想我现在知道秘密了

请记住 dbt 是类代码生成工具

在你的情况下,我猜你必须用字符串引号将你的神社代码包装起来

错误:

SELECT {{ run_started_at.strftime("%Y-%m-%d") }} as YourColumn
--compiled: SELECT 2021-12-14 as YourColumn
--YourColumn=1995

正确:

SELECT '{{ run_started_at.strftime("%Y-%m-%d") }}' as YourColumn
--compiled: SELECT '2021-12-14' as YourColumn
--YourColumn=2021-12-14