大/小文字を区別しない比較を用いる述部による XML 索引使用 の例

XML では、ストリングの比較は大/小文字を区別します。 ただし、 一部のアプリケーションでは、大/小文字を区別しない比較が必要な場合があります。 fn:upper-case 関数を 使用して、大/小文字を区別しない比較を実行できます。

例: 以下の照会では、子にあたる住所に大文字で 「BAILEY AVE」の町名がある顧客のすべての XML 文書を、 CUSTOMER 表の INFO 列から取り出します。 照会は、 町名が「Bailey Ave」、 「bailey ave」、または「Bailey AVE」などの場合に、XML 文書を戻します。

SELECT INFO FROM CUSTOMER
 WHERE XMLEXISTS('$x/customerinfo/address[fn:upper-case(street) = 
 "BAILEY AVE"]'   
 PASSING CUSTOMER.INFO AS "x")

以下の索引は、述部に使用できます。

CREATE INDEX CUST_STREET_UPPER on CUSTOMER(INFO)
 GENERATE KEY USING XMLPATTERN '/customerinfo/address/street/fn:upper-case(.)'
 AS VARCHAR(50)