以下の例を参照してください
where '1|2|||1|' like '%%|%%|%%|%%|[^3]|' /* it will return true if the string between last two pipe symbols is not like '3'*/
上記のコードは問題なく動作します。
同様に、最後の 2 つのパイプの間の文字列の式を 10 や 11 とは異なるように作成する必要があります。少なくとも 10 とは異なります。以下のように試してみました。
where '1|2|||8|' like '%%|%%|%%|%%|[^10]|'
上記のステートメントは、10 だけでなく、1、0、および 10 に対して false を返します。したがって、上記のクエリは、1 を別の文字列と見なし、0 を別の文字列と見なします。最後の 2 つのパイプの間の文字列が 10 の場合にのみ false を返す式を期待しています。1 または 0 の場合ではありません。
中括弧も使用してみました。しかし、動作が異なります。
where '1|2|||8|' like '%%|%%|%%|%%|[{^10}]|
また、最後の 2 つのパイプの間の文字列を 10 または 11 にすることはできません。
注:クエリで「 OR」または「NOT LIKE」を使用することはできません。
何か案は?