- PVSM.RU - https://www.pvsm.ru -

SQL / Сортировка текстового поля как числа и как строки одновременно

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

Пример требуемой сортировки: 8, 9, 10, 11, 12, Android 2.2, Android 2.3, BlackBerry

Подобная сортировка мне понадобиласть при разработке фильтра товаров для одного движка магазинов [1] (к нему имею отношение, сочтите за рекламу), в котором могут быть как текстовые данные, так и числовые (а иногда и вместе одновременно, как в примере).

Гугл навёл только на какието страшные триггеры и регекспы.
Предлагаю вам предложить своё решение.

Моё решение (выделите текст чтобы подсмотреть):
ORDER BY value=0, -value DESC, value

Автор: pixxxel


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/order-by/2763

Ссылки в тексте:

[1] движка магазинов: http://simplacms.ru