「間」範囲フィルタ

EQLのBETWEEN演算子を使用して、「間」範囲フィルタ問合せを作成します。

「間」範囲フィルタ問合せは、下限と上限の間にある標準または管理属性値を持つレコードを返します。

BETWEEN演算子の構文

BETWEEN演算子の構文は次のとおりです。
attribute BETWEEN lowerBound AND upperBound

attributeは、値がテストされる属性です。

BETWEENは境界値で、attributeの値がlowerBoundの値以上、upperBoundの値以下の場合、TRUEを返します。

attributeのサポートされるデータ・タイプと範囲値は、integer、double、dateTime、duration、time、stringおよびBooleanです。1つの例外を除き、attributeは、lowerBoundおよびupperBoundと同じデータ・タイプである必要があります。例外として、integerはdoubleに昇格するため、integerとdoubleの組合せを使用できます。

「間」の単一割当ての例

次の最初の例では、doubleタイプの単一割当て属性(UNIT_PRICE)の「間」範囲フィルタ問合せを示します。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
        <Language>es</Language>
        <State>
          <DataSourceFilter Id="DataFlt">
             <filterString>COUNTRY_NAME = 'Spain'</filterString>
          </DataSourceFilter>
          <SelectionFilter Id="BtwFlt">
             <filterString>UNIT_PRICE BETWEEN 500 AND 1000</filterString>
          </SelectionFilter>
        </State>
        <RecordListConfig Id="Recs" MaxPages="20">
           <RecordsPerPage>5</RecordsPerPage>
        </RecordListConfig>
      </Request>
    </soapenv:Body>
</soapenv:Envelope>

この例では、最初にCOUNTRY_NAME割当てが'Spain'のレコードにデータ・ソース・レコードを限定し、UNIT_PRICE値が500から1000のレコードをすべて返します。両方の境界要素が含まれるため、返されるレコードには、UNIT_PRICE値が500と1000のレコードが含まれます。

次の2番目の例では、stringタイプの単一割当て属性(COUNTRY_NAME)の「間」範囲フィルタ問合せを示します。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
        <State>
          <DataSourceFilter Id="DataFlt">
             <filterString>AMOUNT_SOLD > 100</filterString>
          </DataSourceFilter>
          <SelectionFilter Id="BtwFlt">
             <filterString>COUNTRY_NAME BETWEEN 'Argentina' AND 'Japan'</filterString>
          </SelectionFilter>
        </State>
        <RecordListConfig Id="Recs" MaxPages="20">
           <RecordsPerPage>5</RecordsPerPage>
        </RecordListConfig>
      </Request>
    </soapenv:Body>
</soapenv:Envelope>

この例では、最初にAMOUNT_SOLD割当てが100以上のレコードにデータ・ソース・レコードを限定し、COUNTRY_NAME割当て値がアルゼンチンから日本までの国名(カナダやイタリアなど)のレコードをすべて返します。

「間」の複数割当ての例

次の例では、integerタイプの単一割当て属性(Quantity)の「間」範囲フィルタ問合せを示します。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
         <Language>en</Language>
         <State>
            <SelectionFilter>
               <filterString>SOME i IN Quantity SATISFIES (i BETWEEN 10 AND 30)</filterString>
            </SelectionFilter>
         </State>
         <RecordListConfig Id="recs">
            <Column>Quantity</Column>
         </RecordListConfig>
      </Request>
   </soapenv:Body>
</soapenv:Envelope>

この例では、Quantity割当てが10から30までのレコードをすべて返します。