2017-05-19 31 views
0

プログラミング言語を使用してこれを行うことができます。しかし、mysqlから結果を得るのは難しいです。文字列にmysqlの部分文字列が含まれている場合、文字列から部分文字列を取得する

文字列値を持つ表に列があります。

例:土曜日月曜日火曜日水曜日木曜日金曜日の日曜日

私は上記の文字列からmondayを検索する場合、クエリはのみmonday私の結果を与える必要があります。

文字列から検索した単語のみをmysqlの結果として取得する必要があります。

次のクエリを試しました。

SELECT SUBSTRING_INDEX(usertext,'STORY',0) FROM `usertext` 

しかし、結果は得られなかった。

私は解決策を見つけるために正規表現を探しています。

私の質問が明確でない場合は、親切にコメントしてください。

+0

完全な単語にのみ一致しますか? 「日」を検索する場合は、何かを返す必要がありますか?そして、すべての単語は一意ですか、それとも文字列に2つの月曜日がありますか?あなたが月曜日を検索するとどうなりますか? – MrApnea

+0

完全な単語に一致する必要があります – Gunaseelan

答えて

1

これはいかがですか?

select SUBSTR(usertext, INSTR(usertext, 'sunday'), length('sunday')) 
from myTable 
where CONCAT(' ', usertext, ' ') rlike ' sunday '; 

あなたが常に完全な単語を検索することを確信している場合は、簡単なバージョンを指定できます

select SUBSTR(usertext, INSTR(usertext, 'sunday'), length('sunday')) 
from myTable 
where usertext like '%sunday%'; 

限り私は、MySQLを出すために選択して、正規表現のサポートを持っていけない知っているように値は、where部分のみです。

+0

おかげで。優れた – Gunaseelan

関連する問題