2017-07-28 4 views
1

私はテーブルMY_TBLとvarcharフィールドMY_FLDを持っています。私はMY_FLDに数字が入っている行を見つけなければなりません。その後にハイフンとそれに続く数字(通常は範囲)が続きます。文字列のMysql REGEXの発生と抽出

次の行が選択されるべきである:

fffff 1-5 fdsfdsfds 
1-5 fdsfdsfds 
aaaa 10-23 
1-50 fdsfdsfds 

、これらはいけない:

-5 dsgdgf 
10- rere 
-15 
10 -23 
10- 23 

数ハイフン数パターンの正規表現が\d+\-\d+あります。

MySql文でどのように使用しますか?パターンを別の文字列に抽出することは可能ですか?

fffff 1-5 fdsfdsfds -> 1-5 
1-5 fdsfdsfds -> 1-5 
aaaa 10-23 -> 10-23 
1-50 fdsfdsfds -> 1-50 
+0

PHPの正規表現を使って完全な行を返す必要があります。ここには、mysqlで抽出するスレッドがあります。https://stackoverflow.com/questions/4021507/mysql-use-regex-to-extract-string-select-regex、答えの1つにインストール可能なツールがあります – chris85

答えて

3

あなたは一致する行を取得するためにこれを使用することがあります。

SELECT * FROM MY_TBL WHERE MY_FLD REGEXP '[0-9]+-[0-9]+' 

-を脱出すると数字を一致させるために、[0-9]ブラケット表現を使用する必要がありませんが。

MySQLの正規表現マッチを抽出する簡単な方法はありません。

関連する問題