2011-10-28 51 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