MySQL,移动第一个单词到最后

时间:2010-04-23 12:07:27

标签: mysql

我如何将第一个单词(如果是'the'一词)移动到MySQL中单元格的末尾?

举个例子:

之前:好,坏,丑 之后:好,坏,丑,

由于

4 个答案:

答案 0 :(得分:2)

我同意thecoshman你应该注意不要在SQL端做太多的处理,但是下面的查询可能会完成你正在寻找的东西:

SELECT CONCAT(
        SUBSTR(col, LOCATE(' ', col)+1), 
        ' ', 
        SUBSTRING_INDEX(col, ' ', 1)
    ) FROM table;

答案 1 :(得分:1)

你不会为此使用SQL。 SQL用于查询数据库。您可以从数据库中读取该值,使用PHP,perl,ruby,C#,ASP等代码编辑它。然后将值写回数据库。

答案 2 :(得分:0)

您的意思是更改现有表格中的数据吗?

UPDATE films
SET title= CONCAT(UPPER(SUBSTR(title, 5, 1)), SUBSTR(title, 6), ', The')
WHERE title LIKE 'The %';

但是我同意thecoshman:这通常在数据库之外的代码中做得更好。与真正的脚本语言相比,SQL的字符串处理能力通常很弱且不方便。

答案 3 :(得分:-1)

查询中的小修正,但效果不错。

SELECT CONCAT(
        SUBSTRING(col, LOCATE(' ', col)+1), 
        ' ', 
        SUBSTRING_INDEX(col, ' ', 1)
    ) FROM table;