求助:编写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
相关产品推荐
相关产品推荐

