Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.06.2020, 06:07
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
есть данные ip, которые внесены по разному, точка может находиться в любом месте, как-то надо сделать индекс по первым символов до точки, потом по вторым, третьим и четвёртым. Можно воспользоваться substr() и вырезать до точки, но индексное выражение получится очень длинным , что-то типа (PADL(SUBSTR(ALLTRIM(sip_ipa),RAT(".",ALLTRIM(sip_ipa),2)+1,RAT(".",ALLTRIM(sip_ipa))-RAT(".",ALLTRIM(sip_ipa),2)-1),3," ")). Есть какие-нибудь другие варианты для построения индекса для значений ip, чтоб получилось покороче? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 09:15
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
STRTRAN() ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 09:46
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
А что эта функция даст? Что менять на что? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 11:23
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
Поля создавайте отдельные. Для соответствующих фрагментов. И по этим полям стройте простые индексы Судя по самому вопросу, парсинг полученного значения - не тривиальная задача. Вот и не пытайтесь все впихнуть в некое универсальное выражение индекса. Лучше создайте триггер (или вручную запускайте процедуру), которая учтет все возможные сценарии и разложит строку по фрагментам Можно, конечно, использовать GetWordNum(), указав в качестве разделителя точку, но, судя по постановке задачи, это не всегда сработает. Да и визуально проверять будет сложно. Отдельные поля в данном случае - проще и нагляднее. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 11:52
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
STRTRAN(sip_ipa,'.','') ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 11:53
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 12:19
|
|||
---|---|---|---|
|
|||
Построить индексное выражение |
|||
#18+
ВладимирМ Можно, конечно, использовать GetWordNum(), указав в качестве разделителя точку, но, судя по постановке задачи, это не всегда сработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 12:24
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
Sergey Sizov, 1. В самом первом посте было написано "... точка может находиться в любом месте" 2. Я уже вроде как сказав "спасибо", всем ответившим постарался уйти от полемики и закрыть тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 13:26
|
|||
---|---|---|---|
|
|||
Построить индексное выражение |
|||
#18+
q1w1e1 Sergey Sizov, 1. В самом первом посте было написано "... точка может находиться в любом месте" 2. Я уже вроде как сказав "спасибо", всем ответившим постарался уйти от полемики и закрыть тему.Закрывает здесь темы отнюдь не автор первого поста в ней. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.06.2020, 14:40
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
12.345.678 = 123.45.678 ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2020, 10:30
|
|||
---|---|---|---|
Построить индексное выражение |
|||
#18+
? padl(GETWORDNUM("12.345.678",1,"."),3," "); +padl(GETWORDNUM("12.345.678",2,"."),3," "); +padl(GETWORDNUM("12.345.678",3,"."),3," "); +padl(GETWORDNUM("12.345.678",4,"."),3," "); =; padl(GETWORDNUM("123.45.678",1,"."),3," "); +padl(GETWORDNUM("123.45.678",2,"."),3," "); +padl(GETWORDNUM("123.45.678",3,"."),3," "); +padl(GETWORDNUM("123.45.678",4,"."),3," ") ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1581546]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
401ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 506ms |
0 / 0 |