2011-11-09 123 views
0
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 /2099分之1223:59:59' ,現在的問題是,當我使用遊標提取到v_date這個公司來了... .date是31/DEC/99日期格式錯誤

可能是什麼問題

我使用的Oracle RDBMS作爲

+0

究竟是什麼列類型是'a_date'? – Yahia

+0

它的日期數據類型 – gaurav

+0

好的 - 請參閱下面的答案... – Yahia

回答

1

我看到一件令你感到困擾的事情 - abc是表格和光標的名字......這是不好的做法恕我直言。

至於日期格式問題嘗試

dbms_output.put_line('date is '||TO_CHAR (v_date, 'DD/MM/YYYY HH24:MI:SS')); 

您所看到的輸出是最有可能的一些DB /會話級NLS設置的關於該轉換DATEVARCHAR2時使用的日期格式結果。我的代碼使用明確的日期格式獨立於該設置工作(這不是理想的,因爲它可能會在需要本地化/全球化的情況下造成問題!)。

+0

Yahia:對於abc名稱,我剛剛準備了一個poc代碼來顯示,它不是實際的代碼。在實際的代碼中,我將日期提取到記錄中光標。所以在選擇我們需要做一些操作獲取 – gaurav

+0

@gaurav做了我的答案代碼顯示正確的日期? – Yahia

+0

是的,我得到了正確的答案..謝謝 – gaurav