MSSQL 2008を使用した経験があり、最近MSSQLからOracle 10gに移行する必要がありました。 データを抽出する必要がある列を持つ(Oracle)表を設計したユーザーは、格納する必要があるXMLにBLOB
型の列を使用しました。oracle blobをxml型に変換する
MSSQLでは、単にXML文字列をXML
タイプに格納したか、またはVARCHAR(MAX)
を使用しました。あなたは、単にような何かを書くとXML
型にVARCHAR(MAX)
タイプを変換したい場合は<ROOT><a>111</a></ROOT>
を含むVARCHAR(MAX)
あるmyColumn
と呼ばれる列を持つテーブルmyTable
を想定:
SELECT CONVERT(XML, myColumn) FROM myTable
、あなたはその後、XQueryを使用することができます
MYCOLUMNは、ストアドプロシージャが、それでもメートルを記述することなく、BLOB
だった場合は、Oracle 10gで同じことを達成する方法を
SELECT CONVERT(XML, myColumn).query('/ROOT/a')
:そうのように、変換された列からデータを取得しますそれは再利用可能ですか? BLOB内のテキストはUFT-8
です。
私は急いでこれを必要とするので、本当に助けていただきありがとうございます。
こんにちはDavmos私はあなたが与えたソリューションをしようとしています、ご回答いただき、誠にありがとうございます。どのように動作するかをお知らせします。 – user1279734
こんにちはダヴモス、私はXMLTYPEの代わりに戻ってclobを取得し続けます、どのようにXML型を取得できますか? – user1279734
こんにちは@ user1279734、上記の関数は 'XMLTYPE'を返すだけです。どうやってそれを呼びますか? – davmos