开发者

MySQL remove space before order by clause

I have a table full of "title" that I want to order by title. Problem is a lot of them have a empty space before the title. I am thinking of writting a php script to fix it all (supe开发者_StackOverflow中文版r easy) but I was curious how could I do:

SELECT * FROM products ORDER BY title

But at the same time trimming the title so it doesnt order on the empty space. All in the same query without changing the data. God I hope I make sense.

So I am really looking for a mysql solution to this. For what its worth I use Zend_Db so a solution using that would be even better but I can manage straight MySQL.


You can use the TRIM function:

SELECT TRIM(title) as title, field2, field3 FROM products ORDER BY TRIM(title)

That ought to do it!


I'll answer myself because the exact solution to my question is:

SELECT * FROM products ORDER BY TRIM(title)

I'll still accept codykrieger's answer because he made it so I found my solution.

Here is the Zend_Db answer:

$products->fetchAll($products->select()->order('TRIM(title) ASC'));


A pure SQL query would look like this:

UPDATE products SET title = TRIM( title )

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜