Shopware 6 API的SQLFilter如何设置昨日至今日的时间范围过滤?
Shopware 6 API 过滤昨日至今日数据的解决方案
可以通过修改sqlfilters参数实现昨日至今日的数据范围过滤,原参数仅针对单一日期做模糊匹配,调整后的参数如下:
sqlfilters=(t.tms%3E%3D%3A'%252023-07-17%25')%26(t.tms%3C%3D%3A'%252023-07-18%25')&pagination_data=true
关键修改说明:
- 替换原单一的
like匹配逻辑,改为两个时间范围条件的组合:t.tms >= '昨日日期':筛选时间不早于昨日的记录t.tms <= '今日日期':筛选时间不晚于今日的记录
- URL编码规则:
>=编码为%3E%3D<=编码为%3C%3D- 多个条件之间用
%26(即&的URL编码)连接
- 若需适配动态日期,需在发起请求前计算昨日、今日的日期字符串,替换示例中的固定日期值
额外提示:
如果t.tms是包含时分秒的datetime字段,建议将第二个条件改为t.tms < '明日日期'(例如2023-07-19),避免遗漏今日晚些时候的记录,对应的参数为:
sqlfilters=(t.tms%3E%3D%3A'%252023-07-17%25')%26(t.tms%3C%3A'%252023-07-19%25')&pagination_data=true
内容的提问来源于stack exchange,提问作者pim krook
相关产品推荐
相关产品推荐

