declare
v_date date;
CURSOR abc
is
select a_date
from abc
where part_id ='E00000001';
begin
open abc;
fetch abc into v_date;
close abc;
dbms_output.put_line('date is '||v_date);
end;
/
这里我提取的日期是'31 / 12/2099 23:59:59',现在的问题是,当我使用光标将其取入v_date时它的到来......日期是31 / DEC / 99
可能是什么问题
我使用oracle作为RDBMS
答案 0 :(得分:1)
我发现有一件事困扰着我的代码 - abc
是表格和光标的名称......这是不好的做法恕我直言。
关于日期格式问题,请尝试
dbms_output.put_line('date is '||TO_CHAR ( v_date, 'DD/MM/YYYY HH24:MI:SS') );
您看到的输出很可能是某些数据库/会话级NLS设置的结果,该设置与将DATE
转换为VARCHAR2
时使用的日期格式有关。我的代码使用明确的日期格式独立于该设置工作(这不是理想的,因为它可能会在需要本地化/全球化的情况下使其成为问题!)。