Задать вопрос
@Angelxalfa

Сортировка данных из текстового поля как числа?

Здравствуйте!
Есть таблица с полями, к которых содержаться смешанные данные (цифры с буквами).
При получении данных из этой таблице нужно их сортировать как числа.
Раньше работал в связке с MySQL, но сейчас потребовалось перейти на Postgress
использовал запрос
select data from ".$prefix."$table WHERE pre_data = '$pre_data' ORDER BY (data+0)


В MySQL такой запрос проходил без проблем, но postgres дает ошибку.
Как можно осуществить желаемое в postgres?

В итоге решил через сортировку в массиве методами php
// Получение списка столбцов
foreach ($out2 as $key => $row) {
$volume[$key] = $row['data'];
}
//Сортировка
array_multisort($volume,SORT_NUMERIC, SORT_ASC, $out2);
  • Вопрос задан
  • 2777 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя He11ion К ответам на вопрос (4)
He11ion
@He11ion
PHP-monkey
SELECT * FROM unnest(array['1','2б','2а','1а','2']) a ORDER BY a ASC;

дает
1

2



на посгресе 9.4.1
Ответ написан