2012-04-10 16 views
0

sqliteのワイルドカードはどのように動作しますか?または、LIKEの演算子がどのように一致しますか。 examleについては 言うことができます:SQL/sqliteワイルドカーはどのように機能しますか? LIKE演算子

1:LIKE('s%s%', 's12s12')
2:LIKE('asdaska', '%sk%')

第一の例では第一後の何%マッチ、そしてどのようにそれが後%またはsのに一致継続することを決定。
sが最初に一致する場合は2番目の例ではFALSEが返されます。
両方の例は、TRUEを返します。私のプログラミングの知識から、LIKE関数は、2つの可能性が2つの異なるパラメータで呼び出され、その間にまたはを使用する再帰関数のようなものであることが明らかになりました。 。そうであれば、LIKE演算子は静かで大規模なDBで使用するのが遅いです。 P.P.もう1つあります'_'ワイルドカードがちょうど1文字に一致します
LIKE演算子の詳細なドキュメントは見つかりませんでした。

答えて

2

%は、0以上の文字と一致します。_は、まったく一致します。マッチする

あなたの最初のパターン's%s%''ss''s1s''s1111s''ss1111'、などなど

しかし、あなたが's_s_'を書いた場合、それは's1s1'と一致しませんが、上記のどれでしょう。

+0

私は知っていますが、** LIKE **関数がどのように動作するのか、関数がどのように一致するかどうか、それぞれのcharはどうですか? –

+0

私はそれがregと一致するかどうかを決める方法を意味します。式を現在のcharまたは次の式に変換して –

+0

残念ながら、詳細を知るにはソースにアクセスする必要があります。しかし、正規表現パターンマッチャーのように動作するでしょう。 – GavinCattell

関連する問題