我看到了这个问题 ,所以我对这个问题有一个疑问:我在以下查询中得到了相同日期的不同结果。
SELECT TO_CHAR(to_date(sysdate, 'DD-MON-yy'), 'DAY'),
TO_CHAR(to_date(sysdate, 'DD-MON-yyyy'), 'DAY'),
TO_CHAR(to_date(sysdate, 'DD-MON-rr'), 'DAY'),
TO_CHAR(to_date(sysdate, 'DD-MON-rrrr'), 'DAY')
FROM dual;
按列输出:
TUESDAY SUNDAY TUESDAY TUESDAY
请帮助我,在此先感谢。
编辑
我写了一个简单的程序,通过日期来查找下面给出的日期:
SET serveroutput ON;
CREATE OR REPLACE
PROCEDURE simple_test
(
date_in IN VARCHAR2)
IS
v_date DATE := to_date(date_in,'dd-mon-yyyy');
v_day VARCHAR2(10):=TO_CHAR(v_date,'day');
BEGIN
dbms_output.put_line('the day of given date is '||v_day);
END;
/
执行 simple_test(sysdate);
anonymous block completed
the day of given date is sunday
执行 simple_test('01-JAN-2013');
anonymous block completed
the day of given date is tuesday
为什么会这样?