You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:编写SAP HANA for B1的上周(周一启始)发票查询SQL语句

SAP HANA for B1 获取上周周一至周日发票数据的SQL语句

针对你的需求,以下是适配SAP HANA for B1的查询语句,可精准获取上周从周一到周日的发票记录:

SELECT T0."DocNum", T0."DocDate"
FROM OINV T0
WHERE T0."DocDate" BETWEEN 
    ADD_DAYS(CURRENT_DATE, -(DAYOFWEEK(CURRENT_DATE) - 2) - 7) 
    AND 
    ADD_DAYS(CURRENT_DATE, -(DAYOFWEEK(CURRENT_DATE) - 1) - 7)

语句说明:

  • DAYOFWEEK(CURRENT_DATE):获取当前日期对应的星期值(HANA中1代表周日,2代表周一,以此类推至7代表周六)
  • ADD_DAYS(CURRENT_DATE, -(DAYOFWEEK(CURRENT_DATE) - 2) - 7):计算上周周一的日期:先将当前日期调整至本周周一,再往前推7天得到上周周一
  • ADD_DAYS(CURRENT_DATE, -(DAYOFWEEK(CURRENT_DATE) - 1) - 7):计算上周周日的日期:先将当前日期调整至本周周日,再往前推7天得到上周周日
  • BETWEEN ... AND ...:筛选DocDate落在上周周一至周日区间内的发票数据

以你举例的2022年9月16日(周五,DAYOFWEEK返回6)为例:

  • 上周周一:ADD_DAYS('2022-09-16', -(6-2)-7) = '2022-09-05'
  • 上周周日:ADD_DAYS('2022-09-16', -(6-1)-7) = '2022-09-11'
    完全匹配你的需求场景。

内容的提问来源于stack exchange,提问作者Black Star

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:55:14