2014-03-06 63 views
0

我是MYSQL的新手,並且使用PhpMyAdmin來處理我的數據庫。MYSQL子字符串在x之後但是在y之前不同長度

問題是我有一個URL與一般的舊文本混合在一起,我試圖解壓縮到其他地方使用。它並不總是相同的長度。

SELECT 
SUBSTRING(description, LOCATE('X', description)+6) 
FROM table WHERE id=56; 

所以這給了我一切後,「X」。

我需要能夠在2個已知標識符之間拉出所有東西的東西。 可能嗎?

+1

你需要什麼呢?如果描述是「jjksdj'dfld'dfdf'」,那麼您的預期結果應該是什麼。 –

回答

1

嘗試以下操作:

SELECT SUBSTRING_INDEX(SUBSTRING(description, LOCATE('X', description)+6), Y, 1) 
FROM table 
WHERE id=56; 

每MySQL手冊:

SUBSTRING_INDEX(str,delim,count) Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. SUBSTRING_INDEX() performs a case-sensitive match when searching for delim. 
+0

哇!太精彩了!謝謝! Y後面的數字1表示什麼?它可以是任何正數嗎? – user3389195

+0

很高興我能幫到你。我爲我的答案添加了SUBSTRING_INDEX函數的解釋。 –

相關問題