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

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

我需要验证日期格式的有效日期(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)这是正确的吗?


如果date恰好是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;
链接地址: http://www.djcxy.com/p/36951.html

上一篇: Checking if date falls in a specified month in Oracle

下一篇: How to write date / timestamp string to Date timestamp column in Oracle DB?