我有使用MSSQL 2008的经验,最近我不得不从MSSQL转移到Oracle 10g。 设计具有需要从中提取数据的列的(Oracle)表的人使用BLOB
类型列作为它们需要存储的XML。将oracle blob转换为xml类型
在MSSQL中,您只需将您的XML字符串存储在XML
类型中或使用VARCHAR(MAX)
即可。假设一个表myTable
了一个名为myColumn
列这是一个包含<ROOT><a>111</a></ROOT>
如果你想在VARCHAR(MAX)
型转换为XML
类型,你会简单地写东西像VARCHAR(MAX)
:
SELECT CONVERT(XML, myColumn) FROM myTable
,如果你愿意,你可以再使用XQuery从转换的列中获取数据,就像这样:
SELECT CONVERT(XML, myColumn).query('/ROOT/a')
你将如何完成同样的事情在Oracle 10g中,如果myColumn是BLOB
,而无需编写存储过程,但仍中号使它可重用? BLOB中的文本是UFT-8
。
我真的很感谢你的帮助,因为我急需这种帮助。
嗨Davmos非常感谢您的回复,我想的是解决方案,你给。会让你知道它是如何工作的。 – user1279734
嗨Davmos,我不断收到一个clob而不是和XMLTYPE,我该如何获得一个xml类型? – user1279734
Hi @ user1279734,上面的函数只能返回'XMLTYPE'。你打电话过得怎么样? – davmos