使用xquery(oracle)获取3个标签的最大值

时间:2013-12-03 10:50:29

标签: oracle max xquery

我必须在oracle 10.2 db上将一些xml文档和xquery结合起来。

因此我需要获得某些标签的最大值:

我试过这个:

   fn:max(( $p/col_1, $p/col_3 ))

xml输入(变量$ p)是:

   <xml_snippet>
      <col_1>123</col_1>
      <col_2>123</col_2>
      <col_3>123</col_3>
    </xml_snippet>

但我收到了错误消息

  ORA-19112: error raised during evaluation: oracle.xquery.XQException: FORG0001: invalid value for cast/constructor

我怎样才能获得col_1和col_3的最大值?

2 个答案:

答案 0 :(得分:0)

你能尝试GREATEST而不是MAX吗?

答案 1 :(得分:0)

我不熟悉Oracle中的XQuery,但是,鉴于错误消息,我建议您将值转换为整数:

let $values :=
  for $x in ( $p/col_1, $p/col_3 )
  return xs:integer($x)
return fn:max($values)