有没有办法设定所有日期?

问题描述

我想知道,在sql / dbt中是否可以将所有日期设置为> =另一个日期?

我有一个“ createdat”日期字段和一个“ updatedat”日期字段。我在查询(多个CTE)以及其他日期中多次使用它。我想确保使用的所有日期都少于上个月的最后一天(即

有没有一种方法可以在查询开始时进行设置?

解决方法

这绝对可以做到。您需要将许多列的greatest()与您想要的截止日期进行比较。

实际上是:

select *
from {{ ref('some_table') }}
where greatest(created_at,updated_at) < date_trunc('month',current_date)

您显然可以在查询中添加任意多的列。

NB :在某些仓库中,如果其中的列的 any 为空,则greatest返回null。在这种情况下,您需要将每个日期与某个日期占位符合并,例如“ 1970-01-01”。