2017-01-19 6 views
0

私は、変数lenghtを持つ説明を含むvarcharフィールドを持つテーブルを持っています。私は左から3番目の部分(左から2番目と3番目の間に書かれています)を読みたいと思います。例えばMYSQLを介して文字列から特定の部分を読み取る

は、表には含まれていた場合:

|col1 | 
+-----+ 
|20161512_NL_Luxus_1_DE | 
|20161512_CR_Premium_2_DE | 
|20161512_SV_SDT_4_DE| 

期待される成果:

|col1 | 
+-----+ 
|Luxus| 
|Premium| 
|SDT| 

私はこれをどのように行うことができますか?

ご協力いただきありがとうございます。

はこのように、すでにそれを試してみましたが、私は、これは正しくないと思う...

SUBSTRING_INDEX(`col1`, '_', 2) 

答えて

0

は効率的ではないかもしれないが、あなたはあなたがすべきこの

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(`col1`, '_', -3),'_', 1) from `table`; 
0

を行うことができ、あなたの特定の要件与えられましたこのような関数をネストする

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX("20161512_NL_Luxus_1_DE","_",-3),"_",1) 

Luxus 
関連する問題