2013-02-05 44 views
0

一個字符串前右我有一個圖像文件名是這樣的:提取第一個數字在MySQL查詢

5110b99ba85c72_t.jpg 

我希望字符串_t_m或者一些與_開始前右提取的第一個號碼。在這種情況下,2

我發現2個解決方案,正在確定,但不知道至極是最好的一個,利弊或兩種方法利弊數...

做什麼專家認爲?

方法1種

SELECT SUBSTRING(SUBSTRING_INDEX(thumb_filename, '_', 1), -1) FROM image 

方法2

SELECT RIGHT(SUBSTRING_INDEX(thumb_filename, '_', 1), 1) FROM image 

回答

0

我相當肯定並且不會有太大的差別在兩者之間性能方面。

也就是說,我可能會使用RIGHT()函數,因爲它更清晰一點,你正在嘗試做什麼。

如果您擔心性能,我會添加一個具有該值的列並在文件更改時保持最新。在生成/更新行時獲取數字的速度要快得多,並且不必在查詢中執行SUBSTRING函數。