MySQL убрать пробел перед заказом по предложению - PullRequest
3 голосов
/ 14 августа 2010

У меня есть таблица с заголовком, которую я хочу заказать по заголовку.Проблема в том, что многие из них имеют пустое место перед заголовком.Я думаю написать сценарий php, чтобы все это исправить (супер просто), но мне было интересно, как я могу это сделать:

SELECT * FROM products ORDER BY title

Но в то же время обрезать заголовок, чтобы он не упорядочивался на пустом месте,Все в одном запросе без изменения данных.Боже, я надеюсь, что в этом есть смысл.

Так что я действительно ищу решение MySQL для этого.Для чего стоит использовать Zend_Db, так что использование этого решения было бы еще лучше, но я могу управлять прямым MySQL.

Ответы [ 3 ]

11 голосов
/ 14 августа 2010

Вы можете использовать функцию TRIM:

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

Это должно сделать это!

3 голосов
/ 14 августа 2010

Я отвечу сам, потому что точное решение моего вопроса:

SELECT * FROM products ORDER BY TRIM(title)

Я все равно приму ответ кодикригера, потому что он сделал это, чтобы я нашел свое решение.

Вот ответ Zend_Db:

$products->fetchAll($products->select()->order('TRIM(title) ASC'));
2 голосов
/ 14 августа 2010

Запрос чистого SQL будет выглядеть следующим образом:

ОБНОВЛЕНИЕ продуктов SET title = TRIM (title)

...