Те же и СУБД
Дано: большая таблица. Есть колонка, содержащая целочисленные данные. Таблицу (вернее результат SELECT)нужно рассортировать, но не просто, а в примерно таком виде:
==
7
72
721
7212
722
73
8
===
т.е. а-ля "sort"
Это как нибудь можно сделать на стороне БД, без преобразований int-string и обратно?
==
7
72
721
7212
722
73
8
===
т.е. а-ля "sort"
Это как нибудь можно сделать на стороне БД, без преобразований int-string и обратно?
no subject
Можно, конечно, не использовать to_char, но тогда нечто, to_char аналогичное, придётся делать руками.
А теперь по делу.
Что это за числа, которые нужно сортировать вот так?
Телефонные коды
Мне полагается вручную перелопатить матрицу n*10^4*m*10^2 (где n и м меньше еденицы, но больше нуля). При это матрицу надо изготовить самостоятельно из полутора десятков экселевских таблиц.
no subject
типа
SELECT Int1
FROM SuperTable
ORDER BY convert(varchar(10), Int1)
no subject
Ежели речь все о тех же телефонных кодах, то на фига вообще делать этот столбец целым. Или Вам надо вычислять средний международный код за неделю?
Я о том же.
Re: Я о том же.
no subject
no subject
????
Цены - в рублях, числа.
Коды - в цифрах, строки.
Re: ????
Если по направлениям
Это всё-таки строки.
no subject
Если Вам нужно разовое и быстрое решение, то можно из екселя все повыгружать в текстовые файлы, любым простым для Вас способом (хоть скриптом на перле) привести все файлы к одноой структуре типа
<Код(наименование) оператора>, <Код направления>, <Цена>.
Импортировать все файлы в одну табличку хотя бы в Аксесс и дальше уже колдовать с селектами и прочей БДвской байдой.
no subject
no subject
Примерно так:
ORDER BY (number_to_sort / POWER (10, FLOOR (LOG10(number_to_sort))))
no subject
no subject
Что-то мну подсказывает, что это на самом деле ни разу не числа.
И как-либо считать их никто не предполагает.
;)
no subject
тогда почему не
select
number_to_sort, logg log10(number_to_sort)
from table1
order by (logg - floor(logg))
О-о-о-о!!!
no subject
В любом случае, Вы предлагаете упорядочить по дробной части логарифма. Практически, Вы прологарифмировали моё выражение сортировки. Поскольку логарифм монотонно возрастает, то это тоже будет работать. Причём, я полагаю, быстрее и проблем с типами и переолнениями не возникнет.
Правда у меня MS SQL Server упорно пустую таблицу выдаёт.