Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / выборка полей / 18 сообщений из 18, страница 1 из 1
10.08.2012, 14:34
    #37912291
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
подскажите, есть поле, в нём восьмизначные и десятизначные цифры, необходимо отобрать только десятизначные?
...
Рейтинг: 0 / 0
10.08.2012, 14:38
    #37912298
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
поле > 1000000000
...
Рейтинг: 0 / 0
10.08.2012, 14:57
    #37912328
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Dima T, это не подходит....короче у меня есть ИНН, а есть серия и номер паспорта, так вот серия паспорта мне не нужна
...
Рейтинг: 0 / 0
10.08.2012, 15:00
    #37912333
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhiha,

Для ИП ИНН 12-значный.
...
Рейтинг: 0 / 0
10.08.2012, 15:02
    #37912339
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Jonny540, ну это сути задачи не меняет
...
Рейтинг: 0 / 0
10.08.2012, 15:04
    #37912343
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhihaDima T, это не подходит....короче у меня есть ИНН, а есть серия и номер паспорта, так вот серия паспорта мне не нужна
Это надо писать в первом посте, что поле символьное.
Код: sql
1.
len(alltrim(поле)) = 10
...
Рейтинг: 0 / 0
10.08.2012, 15:05
    #37912346
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Dima T, о спасибочки.... просто я спешила
...
Рейтинг: 0 / 0
10.08.2012, 15:08
    #37912353
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Dima T, пишет, что синтаксическая ошибка =((
...
Рейтинг: 0 / 0
10.08.2012, 15:15
    #37912367
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhihaDima T, пишет, что синтаксическая ошибка =((
Код покажи
...
Рейтинг: 0 / 0
10.08.2012, 15:25
    #37912388
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Лучше покажите пару строк содержимого таблицы. Серия и номер паспорта не через пробел записаны?

PS: По "правильному" должно быть еще одно поле, в котором было бы записано что именно пишется в другом поле. Ну, что-то вроде

Тип документа НомерПаспорт 1234 5678ИНН 1234567890

Может в Вашей таблице тоже есть подобное поле?
...
Рейтинг: 0 / 0
10.08.2012, 16:02
    #37912454
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
ВладимирМ, нет пробелов там точно нет....
серия так и записана к примеру, ВД022456, а есть просто цифры
...
Рейтинг: 0 / 0
10.08.2012, 16:04
    #37912457
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
а вообще там больше 40000 записей, может где-то и влепили при наборе пробел, но его же просто нереально сейчас выявить, а вообще по умолчанию набор без пробела
...
Рейтинг: 0 / 0
10.08.2012, 16:26
    #37912503
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Dima T,[SRC sql] len(alltrim(kod)) = '10'
...
Рейтинг: 0 / 0
10.08.2012, 16:30
    #37912515
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhihaDima T,[SRC sql] len(alltrim(kod)) = '10'
я вообще-то по другому писал. кавычки откуда взялись?
...
Рейтинг: 0 / 0
10.08.2012, 16:37
    #37912527
zhiha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
Dima T, так и без кавычек тоже не работает
...
Рейтинг: 0 / 0
10.08.2012, 16:47
    #37912546
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhihaDima T, так и без кавычек тоже не работает
значит где-то рядом ошибка, это условие оно одно не пишется, это часть какой-то команды.
например
Код: sql
1.
brow for len(alltrim(kod)) = 10
...
Рейтинг: 0 / 0
10.08.2012, 17:57
    #37912641
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
zhihaВладимирМ, нет пробелов там точно нет....
серия так и записана к примеру, ВД022456, а есть просто цифры
Вообще-то, сложно дать совет общего плана, когда точно не известно, какие именно варианты содержимого могут быть. Если сформулировать задачу таким образом

1. Выделить из содержимого поля только цифры, исключив любые другие символы
2. Отобрать только те записи, у которых количество оставшихся цифр будет равно 10

то такое условие можно записать так

Код: sql
1.
len(ChrTran(kod,ChrTran(kod,'1234567890',''),'')) = 10


Смысл подобной конструкции в том, что внутренний ChrTran() формирует список символов, кроме цифр, которые есть в поле, а внешний ChrTran() исключает эти символы. После такого двойного преобразования надо просто подсчитать, сколько символов осталось

Но, разумеется, это будет не корректно, если в поле записано, например "ВД022456N0234". Т.е. цифр-то 10, но это явно не ИНН.

Можно, конечно, добавить условие на исключение записей, у которых в поле есть символы, отличные от цифр. Например. так

Код: sql
1.
empty(ChrTran(kod,'1234567890','')) and len(alltrim(kod)) = 10


Но, опять же, мало ли, что там ввели.
...
Рейтинг: 0 / 0
10.08.2012, 18:33
    #37912688
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка полей
ISDIGIT от ALLTRIM'a будет вполне достаточно!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / выборка полей / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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