Oracle數組基礎應用

1.CREATE OR REPLACE TYPE T_ARRAY AS VARRAY(1000) OF DATE;

 

2.  CREATE OR REPLACE FUNCTION F_RTNARRY
  (
     V_STR  VARCHAR2
  )
  RETURN T_ARRAY IS
     ARRY         T_ARRAY;
     V_BEGIN      DATE;
     V_END        DATE;
  Begin
     ARRY         := T_ARRAY();
     SELECT TRUNC(TO_DATE(V_STR,'YYYYMM'),'month') INTO V_BEGIN FROM DUAL;
     SELECT LAST_DAY(TO_DATE(V_STR,'YYYYMM')) INTO V_END FROM DUAL;
     ARRY.EXTEND(1);
     ARRY(1) := V_BEGIN;
     ARRY.EXTEND(1);
     ARRY(2) := V_END; 
     RETURN ARRY;
  End F_RTNARRY;

3.  PROCEDURE P
  (
    V_STR VARCHAR2,
    O_CUR OUT MYTYPE
  )
  AS
    ARRY T_ARRAY;
    V_BEGIN DATE;
    V_END   DATE;
  BEGIN
    SELECT F_SPLITSTR(V_STR) INTO ARRY FROM DUAL;
    V_BEGIN := ARRY(1);
    V_END   := ARRY(2);
    OPEN O_CUR FOR
      SELECT * FROM TableName WHERE *** BETWEEN V_BEGIN AND V_END;
  END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值