powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проиндексировать таблицу
12 сообщений из 12, страница 1 из 1
проиндексировать таблицу
    #35147097
Vitalь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица klizd.ki ki c(15)

(999999999999997) -- правильная запись состоит из 15 символов (только цифры)
но есть мусор (ВВВВВВВВВВВВВ-1) и т.д., как составить индексное выражение, что бы отцепить мусор ?

index on ki to c:\temp for [сдесь, что написать ?] compact
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35147164
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению индексы здесь не помогут. что бы отцепить мусор Фильтр нужён!
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35147922
anelsasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если поточнее: что понимать под мусором?
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35147940
anelsasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklS
Если создать/установить индекс по выражению с использованием констркуции INDE ON ... TO ... FOR ... COMPACT, то все возможно!
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35148141
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так попробуй
Код: plaintext
... for chrtran(ki, '0123456789', '') == ''
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35148697
anelsasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сказано 'как составить индексное выражение, что бы отцепить мусор ' ...
я не думаю, что обязательно нужно делать именно ч/з chrtrans ...
может быть ему достаточно будет FOR at('0123456789', ki) = 0 ...
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35148818
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anelsasha... FOR at('0123456789', ki) = 0 ...
сам-то понял что написал ?
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35149358
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Dima T" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5323691@sql.ru...
> Автор: Dima T
> Так попробуй
>
> ... for chrtran(ki, '0123456789', '') == ''

for chrtran(ki, '0123456789', '') == '' and len(alltrim(ki))=15

А действительно, что есть мусор?

Если это действительно мусор - то может его проще удалить раз и навсегда???


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35149468
anelsasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T: извиняюсь дико - действительно не понял!!!
ну а вот так FOR LEN(chrtran(ki, '0123456789', '')) = 0 тоже не прокатит ???
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35153125
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galyamov Rinat
for chrtran(ki, '0123456789', '') == '' and len(alltrim(ki))=15

and len(alltrim(ki))=15 - лишнее, т.к. поле и так 15 символов, а если будут пробелы == вернет .F.

anelsashaDima T: извиняюсь дико - действительно не понял!!!
ну а вот так FOR LEN(chrtran(ki, '0123456789', '')) = 0 тоже не прокатит ???
Прокатит. Только у тебя три операции: chrtran, LEN и =
А в моем примере две: chrtran и ==
Хотя разница в производительности незначительная будет.
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35154272
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Dima T" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5333656@sql.ru...
> Автор: Dima T
> Galyamov Rinat
>
> for chrtran(ki, '0123456789', '') == '' and len(alltrim(ki))=15
>
>
> and len(alltrim(ki))=15 - лишнее, т.к. поле и так 15 символов, а если
> будут пробелы == вернет .F.

Если поле действительно с (15), тогда len(alltrim()) - лишнее.

А вот если в поле с (16 или более) будут сплошные цифры, тогда конструкция
for chrtran(ki, '0123456789', '') == '' вернет .T. , что по условиям задачи
не правильно.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
проиндексировать таблицу
    #35154340
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galyamov RinatЕсли поле действительно с (15), тогда len(alltrim()) - лишнее.
...
В постановке задачи было 15:
Vitalьтаблица klizd.ki ki c(15)
... правильная запись состоит из 15 символов (только цифры)

Только автор замолчал почему-то. Что подошло, Vitalь?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проиндексировать таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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