SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.09.2012 09:24:50

sito-corito
Завсегдатай
Зарегистрирован: 13.07.2008
Сообщений: 53

Отсортировать текстовые значения как числовые

У меня в таблице есть столбец с именем 'meta_value' строкового типа: varchar(), longtext или другой подобный текстовый тип. Я не могу изменить тип этого столбца. В этом столбце у меня хранятся только числовые данные:целые числа от 0 до бесконечности. Когда я делаю запрос к БД и сортирую результат с помощью 'ORDER by' таким образом: SELECT * FROM table_name ORDER BY meta_value ASC', то сортировка происходит как с текстом. Например, если есть значения для meta_value такие: 16, 20, 3 то сортируются эти строки так: 16, 20, 3, а необходимо, чтобы значения считались целыми числами и сортировка была такой: 3, 16, 20. Можно ли так сделать?

Неактивен

 

#2 02.09.2012 13:42:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Отсортировать текстовые значения как числовые

SELECT * FROM table_name ORDER BY CONVERT(meta_value, UNSIGNED INTEGER) ASC

Неактивен

 

#3 03.09.2012 17:40:54

sito-corito
Завсегдатай
Зарегистрирован: 13.07.2008
Сообщений: 53

Re: Отсортировать текстовые значения как числовые

Спасибо помогло.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson