原来的:
trunc(sysdate) + 1 + mod(rownum, 48)/24  --每天0点到23点,在48小时内分配现在只能每天0点到9点,在48小时内分配完上面的该怎么改?

解决方案 »

  1. trunc(SYSDATE) + 1 + CASE
             WHEN MOD(trunc(rownum / 9), 2) = 0 THEN
              MOD(rownum, 9) / 24
             ELSE
              MOD(rownum, 9) / 24 + 1
           END
      

  2. trunc(SYSDATE) + 1 + CASE
      WHEN MOD(trunc(rownum / 9), 2) = 0 THEN
       MOD(rownum-1, 9) / 24
      ELSE
       MOD(rownum-1, 9) / 24 + 1
    END
      

aliyun

类似问题 »