0

DB2 で XML 列に対して次のクエリを実行していますが、正常に動作します。

SELECT  
FROM customer
WHERE contains(search_text, 
'
@xpath:''/customer/number[. contains("123456")]''
', 'RESULTLIMIT = 100')=1;

ただし、次のクエリは機能しません。

SELECT  
FROM customer
WHERE contains(search_text, 
'
@xpath:''/customer/number[. = "123456"]''
', 'RESULTLIMIT = 100')=1;

2 番目のクエリが機能しない理由はありますか? エラー [38H10] [IBM][DB2/LINUXX8664] SQL20423N サーバー「localhost」でインデックス「CISC_CUSTOMER」を使用してテキスト検索処理中にエラーが発生しました。エラー・メッセージは「IQQS0032E 照会を処理できません」です。

<customer>
<number>
123456
</number>
<firstname>
John 
</firstname>
<lastname>
Smith
</lastname>
</customer>
4

1 に答える 1

0

DB2 では、属性に対してのみ「=」を使用でき、要素に対しては「contains」のみを使用できます。

于 2014-04-11T12:46:57.120 に答える