Sql 如何在查询中指定整个上一个工作周的日期,而不考虑当前日期?

Sql 如何在查询中指定整个上一个工作周的日期,而不考虑当前日期?,sql,db2,Sql,Db2,如何让我的查询从上一周的数据中提取数据 (星期日至星期六)无论数据是在哪一天提取的 SELECT TLORDER.BILL_TO_CODE, TLORDER.BILL_NUMBER, DATE(LEG_DATE) LEG_DATE, DRIVER_ID, (SELECT DRIVER_TYPE FROM DRIVER WHERE DRIVER.DRIVER_ID = DRIVERPAY.DRIVER_ID), (SELECT TERMINAL_NUMBER FROM DRIVER W

如何让我的查询从上一周的数据中提取数据 (星期日至星期六)无论数据是在哪一天提取的

SELECT 
TLORDER.BILL_TO_CODE, 
TLORDER.BILL_NUMBER, 
DATE(LEG_DATE) LEG_DATE, 
DRIVER_ID, 
(SELECT DRIVER_TYPE FROM DRIVER WHERE DRIVER.DRIVER_ID = DRIVERPAY.DRIVER_ID), 
(SELECT TERMINAL_NUMBER FROM DRIVER WHERE DRIVER.DRIVER_ID = DRIVERPAY.DRIVER_ID) TERMINAL_NUMBER, 
(SELECT TERMINAL_ZONE FROM DRIVER WHERE DRIVER.DRIVER_ID = DRIVERPAY.DRIVER_ID) TERMINAL_ZONE, 
SUM(TOTAL_PAY_AMT) TOTAL_PAY, 
COALESCE((SELECT SUM(LS_LEG_DIST) FROM LEGSUM WHERE LS_TRIP_NUMBER = DRIVERPAY.TRIP_NUMBER),TLORDER.DISTANCE) MILES , 
TLORDER.DISTANCE, 
ORIGIN, 
TLORDER.START_ZONE_DESC, 
DESTINATION, 
TLORDER.END_ZONE_DESC 

     FROM DRIVERPAY 
        INNER JOIN TLORDER 
          ON TLORDER.DETAIL_LINE_ID = DRIVERPAY.DETAIL_LINE_ID

WHERE 
     DATE(LEG_DATE) >= CURRENT DATE - 14 DAYS 
     AND PMT_STATE IN ('C','X','A') 

GROUP BY TLORDER.BILL_TO_CODE, TLORDER.BILL_NUMBER, DRIVER_ID, DISTANCE, ORIGIN, TLORDER.START_ZONE_DESC, DESTINATION, TLORDER.END_ZONE_DESC, DRIVERPAY.TRIP_NUMBER, LEG_DATE
ORDER BY TERMINAL_NUMBER

您可以使用函数计算要检索的日期

星期五国际标准化组织

周一返回1,周日返回7

所以会是这样的

current date - 7 days - dayofweek_iso(current date) days 
这将从当前日期减去一周,再减去当前周的n天