![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите составить запрос [D7, dBase, FoxPro]
abhtr © (2006-06-14 09:24:00)Помогите составить запрос который бы выбирал записи с неправильным форматом строкового поля. Т.е., есть поле "KodTov", который должен содержать код из 8 букв, но бывают ошибочно введенные коды, содержащие другое количество букв, другие, не буквенно-цифровые символы. Их нужно выявлять и либо отсеивать, либо в отдельный список, для дальнейшего исправления.
Таблица DBF. Тип поля строковый.
Помогите, пожалуйста.
Виталий Панасенко (2006-06-14 12:15:00) [1]А как же
> abhtr (14.06.06 09:24)
> другие, не буквенно-цифровые символы.
?
abhtr (2006-06-14 11:30:00) [2]Всем спасибо!
Сработало: where KodTov like '________' (восемь подчеркиваний)
Sergey13 (2006-06-14 10:34:00) [3]2 [2] abhtr (14.06.06 10:28)
Можно не зацикливаться на SQL запрос. Для подобной работы отлично подойдет и простой перебор в TTable.
abhtr (2006-06-14 10:28:00) [4]К сожалению, проверку ввода нельзя сделать, т.к. таблицы приходят со сторонних организаций, с программы доступ к коду, которой мы не имеем. Поэтому остается только проверять, выявлять и отправлять выявленные ошибки для исправления.
sniknik (2006-06-14 10:28:00) [5]запрос на "неправильные" коды.
SELECT * FROM xxxx
WHERE Len(KodTov)<>8 AND KodTov LIKE '%[!0-9]%'
только у тебя это не заработает, скорее всего.
Sergey13 (2006-06-14 09:46:00) [6]С LIKE наверное надо изгаляться для выявления.
И менять логику приклады и добавлять проверки ввода для предотвращения подобного в дальнейшем.