postgresql 如何显示上周来自Postgres的数据

wwwo4jvm  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(161)

我有两个输入捕获startDate和endDate。我已经为这两个输入设置了默认日期。但是,我的输出没有反映到它。
问题:例如,今天是2022年11月9日,我希望我的输出是上周的数据。因此,输出将从2022年10月31日至2022年11月6日。
我看到过类似我的问题,但这不是我想要的。
我尝试编写此代码,但无法用于**...**:

var customFilter = filter.CustomFilter;

            if (customFilter is { StartDate: { }, EndDate: { } })
            {
                var startDate = customFilter.StartDate.Value.Date;
                var endDate = customFilter.EndDate.Value.Date;
                Truck = (customFilter.StartDate.HasValue && customFilter.EndDate.HasValue)
                    ? Truck.Where(c => c.TransactionStartDate >= startDate && c.TransactionStartDate <= endDate)
                    : **Truck.Where(c => c.TransactionStartDate == startDate.Subtract(1, "week").StartOf("isoweek") && c.TransactionEndDate == endDate.Subtract(1, "week").StartOf("isoweek"))**;
            }
64jmpszr

64jmpszr1#

正如@Fildor所评论的,您可以在原生SQL中使用这个where子句:

where startDate >= date (date_trunc('week', current_date) - interval '1 day')
  and endDate <= date (date_trunc('week', current_date) - interval '1 week 1 day')

相关问题