2010-04-23 60 views
0

如何将第一个单词,如果单词'the'移动到MySQL单元格的末尾?MySQL,将第一个单词移动到最后

举个例子:

前:好的,坏的和在丑陋的 :善,恶,丑,该

感谢

+0

嗨FEB,你能澄清你的问题吗? – 2010-04-23 12:28:19

回答

1

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

+0

你是对的 - 如果我不能很容易地完成这个'我会走下去的PHP路线。谢谢回复! – FEB 2010-04-23 14:14:59

2

我同意thecoshman,你应该小心,不要做SQL一边太多的处理,但下面的查询可以完成你在找什么:

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

非常感谢 - 今晚晚些时候我会试一试。感谢您的回复! – FEB 2010-04-23 14:14:29

0

你的意思改变现有表中的数据?

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

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

+0

这看起来可能是这样 - 今晚我会试一试。谢谢! – FEB 2010-04-23 14:15:35

-1

在您的查询中出现小的错误,但效果不错。

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

'SUBSTR()'是'SUBSTRING()'的有效别名,至少在我熟悉的MySQL版本中是这样。较旧的版本可能是老年人和粗鲁的,所以你的里程可能会有所不同。 :) – awgy 2010-04-23 12:45:38

+0

是的,我只接受版本支持问题在那里,所以只有我用过 – Karthik 2010-04-23 13:12:32

相关问题