0

私のデータベースのテーブルには、次のパターンの次の文字列があります。

this_is_my_string_tester1
this_is_my_string_mystring2
this_is_my_string_greatstring

this_is_my_string_アンダースコアで分割された特定のパターン、つまりワイルドカードの最後のセクションで始まるすべての文字列を一致させようとしています

残念ながら、いくつかの文字列が次のようになると、さらに複雑になります。

this_is_my_string_tester1_yet_more_text
this_is_my_string_mystring2_more_text
this_is_my_string_greatstring_more

したがって、次の例を取り上げます。

this_is_my_string_tester1
this_is_my_string_mystring2
this_is_my_string_greatstring
this_is_my_string_tester1_yet_more_text
this_is_my_string_mystring2_more_text
this_is_my_string_greatstring_more

私は戻ってきようとしています:

this_is_my_string_tester1
this_is_my_string_mystring2
this_is_my_string_greatstring

likeステートメントでこれを行う方法がわかりません。もしそうなら、これはどのように可能ですか?

編集

最後に複雑な問題が 1 つあります。

 this_is_my_string

リストとして提供する必要があります。

(this_is_my_string,  this_is_my_amazing_string, this_is_another_amazing_string)
4

2 に答える 2

0

これを試して

SELECT * FROM db.table WHERE strings LIKE 'this_is_my_string_%' AND instr(Replace(strings,"this_is_my_string_",""),"_") = 0;

標準の「this_is_my_string_」を置き換えた後、さらに_が発生するかどうかを確認します

于 2013-10-14T12:13:37.703 に答える