2017-01-19 19 views
1

我有一個varchar字段的表,其中包含一個變量長度的描述。我想閱讀右邊第四個最後的字母。通過MYSQL讀取右側的最後一個X字母

例如,如果表中包含:

|col1 | 
+-----+ 
|20161512_NL_Luxus_1_DE | 
|20161512_NL_Premium_2_DE | 
|20161512_NL_SDT_4_DE| 

我想查詢將返回:

|result| 
+------+ 
|1  | 
|2  | 
|4  | 

提前感謝!

回答

1

SUBSTRING_INDEX看起來這將是一個很好的適合你想實現什麼:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(col1, '_', -2), '_', 1); 

的使用情況的詳細信息,請參見MySQL Docs

從本質上講,調用SUBSTRING_INDEX是找到倒數第二_字符,並返回一切到的正確外部SUBSTRING_INDEX調用然後從這個結果中找到第一個_,並返回所有內容直到該點。

相關問題