|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Есть реестр накладных с номерами 07/01...07/120,07/01z...07/120z,07/01zz...07/120zz. Как их отсортировать, чтобы были по возрастанию/убыванию (неважно) и группами по префиксам z и zz и без оных? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 12:11 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Vladimir1968, этот список в одном поле или в первой записи 07/11, во второй 07/11-1 и тд? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 13:19 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
каждый номер - одна запись ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 13:23 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Vladimir1968, Index on str(occur('z',pole),1)+strt(pole, 'z', '') orde tag ind1 asce Index on str(occur('z',pole),1)+strt(pole, 'z', '') orde tag ind1 desc ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 13:28 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Vladimir1968, Пардон, Index on str(occur('z',pole),1)+strt(pole, 'z', '') orde tag ind2 desc ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 13:29 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
спасибо! буду пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 13:30 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Попробовал, но проблема осталась. Сортировка по группам работает, но внутри группы - бардак, а именно, как и при сортировке символьных полей 9,10,11,110,111,12,13 и т.д. Как их упорядочить? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:00 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Vladimir1968, не понял. приведи пример записей ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:11 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4.
тройки заменить на макс. длины соответствующих фрагментов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:29 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Вам необходимо перевести символы в цифры. На сколько понял у вас сейчас сортировка: 1 11 13 2 23 3 55 А необходимо: 1 2 3 11 13 23 55 при символьном поле вариант сортировки первый. Вам поможет Val в варианте glamisVladimir1968, Пардон, Index on str(occur('z',pole),1)+strt(pole, 'z', '') orde tag ind2 desc ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:30 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
T1gRa_NTВам поможет ValАга, val от значения вида "ЧислоДробьЧисло". Уж поможет так поможет... примерно как жгут от носового кровотечения ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:41 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
tanglir, так лихо не получится - так можно отсортировать только по одному полю. надо тогда сортировать типа так: str(occur('z',pole),1)+str(val(strt(pole, 'z', '')),10) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:50 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
glamis, либо str(occur('z',pole),1)+padl(allt(strt(pole, 'z', '')),10) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 12:52 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
glamisтак лихо не получится - так можно отсортировать только по одному полю.А у ТСа и так одно поле. glamisнадо тогда сортировать типа так: str(occur('z',pole),1)+str(val(strt(pole, 'z', '')),10)Ну вот, и вы туда же :( У ТСа двухкомпонентное поле (нарушение 1нф, кстати, ну да неважно), какой ещё val, ну в самом деле... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 13:12 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
В принципе первые три символа всегда на месте - это номер месяца. если однозначный, значит с нулем. поэтому, мне кажется можно смело играть со второй часть после слеша. я уже по всякому пробовал. или глаз замылился или я тупой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 13:23 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Vladimir1968В принципе первые три символа всегда на месте - это номер месяца. если однозначный, значит с нулем. поэтому, мне кажется можно смело играть со второй часть после слеша. я уже по всякому пробовал. или глаз замылился или я тупой. Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 13:43 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Попробую, спасибо. О результатах отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 13:46 |
|
Сортировка символьного поля
|
|||
---|---|---|---|
#18+
Если есть возможность, то надо просто создать 3 дополнительных поля, куда и положить "части" номера. Разбор сложной строки на фрагмент - задача не тривиальная и всегда остается некий процент ошибок, который требует ручного вмешательства. А с отдельными полями - никаких проблем. Еще один вариант решения - это под каждый "фрагмент" всегда выделять фиксированное количество символов, дополняя недостающее ведущими нулями. Например, если вместо 07/01 Вы будет формировать 07/001, то не будет накладок в порядке сортировки с 07/120. PS: У функции GetWordNum() можно указать несколько разделителей. Т.е. для выделения второго "слова" можно использовать такой синтаксис Код: sql 1.
В таком синтаксисе, в качестве разделителей выступает символ 'z' ИЛИ символ '/' ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 14:55 |
|
|
start [/forum/topic.php?fid=41&msg=39016622&tid=1582302]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 359ms |
total: | 619ms |
0 / 0 |