今天写了一个例子来测试to_date,谁知问题就随之产生了,这个问题让我郁闷了半天最后还是解决了,见代码
SET SERVEROUTPUT ON
DECLARE
    v_date DATE := TO_DATE('&sv_user_date','DD-MON-YYYY');
    v_day varchar2(15);
BEGIN
    v_day := RTRIM(TO_CHAR(v_date,'DAY'));
    
    if v_day in ('SATURDAY','SUNDAY') then
        DBMS_OUTPUT.PUT_LINE(v_date||'falls on weekend');
    end if;
    ---control resumes here
    DBMS_OUTPUT.PUT_LINE('Done...');
END;
运行后提示输入指定格式的日期,于是我就输入
10-JAN-2010
确定后报错,说是无效的月份,我当时还以是输错了呢,结果再输一遍还是这个错,再输还错,找了半天不知道是哪错了,最后想到是不是和系统的语言有关呢,于是输入
10-1月-2010
再确定后,竟然通过了,可能是自己孤陋寡闻了,但是怎么会这样呢?让人想着就郁闷,不过最终还是解决了,也不错,哈哈