2012-03-15 51 views
1

我需要一個MySql語句,它從中間文本列返回20個字的子串,從字35開始。 任何想法如何這個查詢看起來像?MySql如何查詢中文字符的子字符串?

+0

如果你有很多行,我不建議這樣做在SQL。只需使用任何程序語言即可修剪它。 – 2012-03-15 00:51:46

+0

介於1到5兆字節之間,mediumtext列包含大量數據/文本,但只有一行可從中獲取文本。在性能方面,使用編程語言做它會更快嗎? (在這種情況下是java) – user1152442 2012-03-15 09:31:40

+0

我依賴很多東西 - 如果你的數據增長很快,服務器CPU的功率,RAM,客戶端的數量...... – 2012-03-15 10:15:42

回答

1

我會傾向於同意@RomanNewaza,但這應該做到這一點。

這將拿到第55個字假設一個空間,是一種安全字分隔符 -

SELECT SUBSTRING_INDEX(field, ' ', 55) FROM tbl; 

,這將基於相同的假設得到最後20個字 -

SELECT SUBSTRING_INDEX(field, ' ', -20) FROM tbl; 

所以把這兩個你一起結束了 -

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, ' ', 55), ' ', -20) FROM tbl; 
+0

非常感謝。 – user1152442 2012-03-15 14:22:01