2011-10-28 53 views
0

Mysql的舉動字符只是想知道是否有可能在MySQL中移動字符串中的字符,而不必訴諸到PHP等圍繞內串

例子:

藍色大麗花,該

必須成爲「藍色大麗花」。所以刪除逗號並將其後的「the」移到開頭。

... SET field = REPLACE(field, CHAR(47), '') 

但移動「的」來開頭,似乎艱鉅的我,因爲我只是不能在最後一個逗號後替換「的」,只有一個所有實例:刪除逗號可以用做。

這很容易用PHP完成,但我想知道我是否可以在SQL中完成它,因爲它(希望)是一次性的。

謝謝。

... SET field = CONCAT_WS(' ', TRIM(SUBSTRING_INDEX(field, ',', -1)), TRIM(SUBSTRING_INDEX(field, ',', 1))) 

快速的解釋:

回答

1

您可以嘗試

SUBSTRING_INDEX分裂的分隔符字符串。 -1從右邊開始; 1首先從左側開始。

TRIM刪除不必要的空格。

CONCAT_WS合併字符串的部分與空格鍵分隔符。

+0

哇,這實際上有效。如果沒有外部腳本語言,我認爲這是不可能的。非常感謝! – kakubei