2017-03-24 5 views
0

MySQLで検索の並行番号を特定する関数はありますか?MySQLフィールドで文字列を検索する

例:

lcString = "My name-is-Harry-Potter" 

Visual FoxProでは、これを使用することができます:

?AT('a',lcString,1) && where 1 means "get me the first concurrence" 

OutPut = 5 

または私はMySQLで同様の機能を探していた

?AT('-',lcString,3) && where 3 means "get me the third concurrence" 

OutPut = 17 

が、私はできませんそれを見つける。

ありがとうございました... !!!

答えて

0

これを実現するには、SUBSTRING_INDEXLENGTHのMySQL関数を使用できます。あなたはLENGTH内部で発生した、などを取得することをラップすることができ、

ので 区切りのカウント出現する前に文字列strからのサブストリングを返します:これは、MySQLのdocumentationSUBSTRING_INDEX言うことです

SELECT LENGTH(SUBSTRING_INDEX('My name-is-Harry-Potter', 'a', 1)) + 1 

SELECT LENGTH(SUBSTRING_INDEX('My name-is-Harry-Potter', '-', 3)) + 1 
関連する問題