2017-12-04 6 views
0

"LAST_MODIFIED_DATE" xmlタグ値の日付形式を変更します。誰でも私を助けてください。xml値の日付形式を変更する必要があります

実際の出力:

<MESSAGE> 
<LOCATIONS> 
    <LOCATION_ID>9999</LOCATION_ID> 
    <LOC_TYPE>S</LOC_TYPE> 
    <NAME>Test Location</NAME> 
    <PHONE_NUM>08 </PHONE_NUM> 
    <LAST_MODIFIED_DATE>23-Dec-2017</LAST_MODIFIED_DATE> 
</LOCATIONS> 
</MESSAGE> 

予想される出力:我々はXMLでロードされたデータを持っている以下のタイプを通じ

<MESSAGE> 
<LOCATIONS> 
    <LOCATION_ID>9999</LOCATION_ID> 
    <LOC_TYPE>S</LOC_TYPE> 
    <NAME>Test Location</NAME> 
    <PHONE_NUM>08 </PHONE_NUM> 
    <LAST_MODIFIED_DATE>12/23/2017</LAST_MODIFIED_DATE> 
</LOCATIONS> 
</MESSAGE> 
+0

XMLはどのように入手しましたか? DBから取得するときにPLSQL関数を使用できますか? – Vadim

答えて

0

CREATE OR REPLACE MESSAGE 
    AS 
     OBJECT (
       Location_ID   NUMBER, 
       Loc_type   VARCHAR2(20), 
       Name    VARCHAR2(20), 
       phone_num   VARCHAR2(20), 
       Last_modified  DATE 
      ); 
    /

declare 
l_sql VARCHAR2(2000); 
l_test_t MESSAGE:= MESSAGE(); 
l_to_xml xmltype; 
begin 
l_test_t.Location_ID := 9999; 
l_test_t.Loc_type := 'S'; 
l_test_t.Name := 'Test Location'; 
l_test_t.phone_num := '08'; 
l_test_t.Last_modified := Sysdate; 
l_to_xml := XMLTYPE(l_test_t); 
DBMS_OUTPUT.put_line(l_to_xml.getstringval); 
end; 

我々はタイプを変更することができカント構造。だから私は日付形式を変更するための他のオプションが必要です。

+0

申し訳ありませんが、私はPL/SQLを手元に持っていませんが、 'alter session set nls_date_format = 'mm/dd/yyyy''についてはどうですか? ...とにかく、両方の値がXMLの 'date'形式ではありません – Vadim

関連する問題