数据库中有一张表,表中有一字段类型设为varchar,存的是xml的内容。现在需要对这个字段里xml下的某个节点进行有条件查询,有什么比较可行的方法了?
举个例子:
比如有张飞机表Plane(PlaneID,PlaneName,PlaneAttri),其中PlaneAttri字段存的就是xml文档中的内容,里面的节点是飞机的一些属性,有什么:机长,翼展,最大速度,最大载弹量等等很多。
假设,现在要找出所有最大速度在speed1与speed2中间的飞机,那么应该如何操作了?
自己思考的是首先把所有飞机的Planeattri字段选出来,然后利用xml里的查询语句查询。不知是否可行?还有个问题是用Select语句选出Planeattri字段,这个返回的是个集合吧?怎么取它返回的值了?或者这个不可行,有其他的方法吗?

解决方案 »

  1.   

    如果这个字段是XMLTYPE的话,可以看看这篇文章http://blog.csdn.net/su317/archive/2009/03/27/4028459.aspx
    VARCHAR2的话,我的做法也和你一样的
      

  2.   

    用的是oracle8i,没有内置的xmltype类型,不过看了你给文章,oracle9i的版本支持xmltype类型,这样会方便很多,那就改用9i了!多谢提供信息!