|
|
|
Выборка из VARCHAR-поля с сортировкой как по FLOAT
|
|||
|---|---|---|---|
|
#18+
1) Есть таблица, в ней есть столбец VARCHAR, в котором хранятся числа, к некоторым из которых в конце может быть приписан некоторый небольшой текст (abs, cmp etc.). Проблема такая: необходимо выбрать данные из этого столбца и отсортировать их по величине. Если делать обычный запрос, то сортировка ведется как текст, что вполне ожидаемо, т.е. данные расположатся примерно в след. порядке: 10, 100, 100000000.452, 45, и т.д. Мне же необходима сортировка именно как чисел! Подскажите, пожалуйста, есть ли такая возможность? Или все придется сомому делать уже ручками в ПХП... 2) есть таблица, в которой хранятся цены на товар. Причем цены могут быть указаны как в рублях, так и в баксах и у.е. Проблема в том, что я должен хранить цены именно в том виде, в котором они даны, т.е. рубли - в рублях, баксы - в баксах, т.к. при изменении курса бакса цены, указанные в этой валюте, при пересчете в рубли будут меняться... Для определения типа валюты в таблице есть дополнительное поле. Проблема такая: можно ли сделать выборку из этой таблицы с сортировкой по цене, но так, чтобы, к примеру, не получилось, что $50 было "меньше", чем 100 рублей?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 03:04 |
|
||
|
Выборка из VARCHAR-поля с сортировкой как по FLOAT
|
|||
|---|---|---|---|
|
#18+
1. Слабо себе представляю, зачем так было сделано... Вообще, в столбцах следует хранить атомарные значения. Может поизвращавшись и выйдет нужная сортировка, но вряд ли она будет быстрой, потому если объём базы сколько-нибудь значителен -- стоит пересмотреть структуру. 2. Что-то вроде Код: plaintext 1. Тоже, кстати, запрос не самый быстрый, но ввиду изменяющихся курсов сложно посоветовать что-либо иное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 05:09 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=484&tid=1478689]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 329ms |

| 0 / 0 |
