检查日期是否在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?