2

ODataデータベースへのインターフェースを提供することを検討しています。文字列フィールド、つまりOData $filter条件で正規表現を許可する必要があります。

OData はsubstringof()startswith()、およびその他の関数を提供していますが、正規表現に関するドキュメントは見つかりませんでした。これは可能ですか?

このような正規表現関数は、おそらく次のようになります。

/Customers?$filter=match(CompanyName, '^Al[a-z]+s Futterkiste') eq true

wherematch()は私が作ったばかりの関数です。

4

1 に答える 1

1

プロトコルには、フィルタリング用の組み込みの正規表現演算子がありません。ただし、次のように、探しているもの (または同様のもの) を実現できます。

GET http://server/Customers?$filter=match(CompanyName=$it/CompanyName, Regex='^Al[a-z]+s Futterkiste') eq true

この場合、CompanyName と Regex の 2 つのパラメーターを取る関数「match」が必要です。その関数は、会社名が一致するかどうかに応じて true/false を返します。次に、企業ごとに照合機能が呼び出されます。

もちろん、実装は使用しているサーバー側のテクノロジによって異なります。

ここで詳細を読むことができます: http://www.odata.org/media/30002/OData.html#inlineparametersyntax

幸運を。

于 2012-11-26T18:44:59.743 に答える