检查日期是否属于Oracle中的指定月份

时间:2013-12-04 11:04:06

标签: sql oracle

procedure Charge(p_inputdate   N VARCHAR2,//Date which accepts only MMYYYY format
                   inout_Cur OUT result_cur) IS

我需要验证以日期格式表示的effective_date(mm / dd / yyyy hh:mm:ss)

例如:用户输入112013作为输入,要检查的生效日期为11/12/2013 09:13:22

是否可以确定生效日期是否在指定月份内?

你可以对此发表评论..

  
    
      

我尝试了以下方式:

    
         

V_INPUTDATE:= to_char(TO_DATE(IN_INPUTDATE,'MMYYYY','mmyyyy'));

         

v_effectiveDate:= substr(V_INPUTDATE,1,2)+'/'+'01'+'/'+ substr(V_INPUTDATE,3,4);

  

01不过是一个月总是从01(dd)开始 这是正确的吗?? ??

1 个答案:

答案 0 :(得分:0)

如果日期恰好是VARCHAR2,则需要先将其转换为DATE:

effective_date DATE;  -- Put this line in the declare section

effective_date := to_date('11/12/2013 09:13:22', 'MM/DD/YYYY HH24:MI:SS');

当你有约会时,其余的很容易:

IF p_inputdate = to_char(effective_date, 'MMYYYY') THEN
    -- Date is ok.
ELSE 
    -- Date is not ok.
END IF;