powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Выборка из VARCHAR-поля с сортировкой как по FLOAT
2 сообщений из 2, страница 1 из 1
Выборка из VARCHAR-поля с сортировкой как по FLOAT
    #32942600
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Есть таблица, в ней есть столбец VARCHAR, в котором хранятся числа, к некоторым из которых в конце может быть приписан некоторый небольшой текст (abs, cmp etc.). Проблема такая: необходимо выбрать данные из этого столбца и отсортировать их по величине. Если делать обычный запрос, то сортировка ведется как текст, что вполне ожидаемо, т.е. данные расположатся примерно в след. порядке: 10, 100, 100000000.452, 45, и т.д. Мне же необходима сортировка именно как чисел!

Подскажите, пожалуйста, есть ли такая возможность? Или все придется сомому делать уже ручками в ПХП...


2) есть таблица, в которой хранятся цены на товар. Причем цены могут быть указаны как в рублях, так и в баксах и у.е. Проблема в том, что я должен хранить цены именно в том виде, в котором они даны, т.е. рубли - в рублях, баксы - в баксах, т.к. при изменении курса бакса цены, указанные в этой валюте, при пересчете в рубли будут меняться... Для определения типа валюты в таблице есть дополнительное поле. Проблема такая: можно ли сделать выборку из этой таблицы с сортировкой по цене, но так, чтобы, к примеру, не получилось, что $50 было "меньше", чем 100 рублей?...
...
Рейтинг: 0 / 0
Выборка из VARCHAR-поля с сортировкой как по FLOAT
    #32942614
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Слабо себе представляю, зачем так было сделано... Вообще, в столбцах следует хранить атомарные значения. Может поизвращавшись и выйдет нужная сортировка, но вряд ли она будет быстрой, потому если объём базы сколько-нибудь значителен -- стоит пересмотреть структуру.
2. Что-то вроде
Код: plaintext
1.
SELECT prices.id, prices.name, prices.price, prices.currency, prices.price*rates.rate AS cu_price FROM prices, rates WHERE prices.currency=rates.id ORDER BY cu_price;
, где prices -- таблица цен, а rates -- таблица курсов валют.
Тоже, кстати, запрос не самый быстрый, но ввиду изменяющихся курсов сложно посоветовать что-либо иное...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Выборка из VARCHAR-поля с сортировкой как по FLOAT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]