只是想知道在Mysql中是否有可能在字符串中移动字符而不必诉诸PHP等。
示例:
Blue Dahlia,
必须成为“蓝色大丽花”。所以删除逗号并将“之后”移到开头。删除逗号可以通过以下方式完成:
... SET field = REPLACE(field, CHAR(47), '')
但是将“the”移到开头似乎让我感到畏惧,因为我无法替换“the”的所有实例,只能替换最后一个逗号之后的实例。
这很容易用PHP完成,但我想知道我是否可以在SQL中完成它,因为它(希望)是一次性的事情。
感谢。
答案 0 :(得分:1)
您可以尝试:
... SET field = CONCAT_WS(' ', TRIM(SUBSTRING_INDEX(field, ',', -1)), TRIM(SUBSTRING_INDEX(field, ',', 1)))
快速解释:
SUBSTRING_INDEX
按分隔符拆分字符串。 -1
从右边开始; 1
首先从左边开始。
TRIM
删除不必要的空格。
CONCAT_WS
将部分字符串与空格键分隔符合并。