【问题标题】:Checking if date falls in a specified month in Oracle检查日期是否在Oracle中的指定月份
【发布时间】:2013-12-04 11:04:05
【问题描述】:
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) 开头 这是正确的..??

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

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

    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;
    

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多