![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.12.2009
Сообщений: 1
|
![]()
всем здравствуйте. только что зарегилась. поэтому, если что не так, прошу прощения. все замечания учту в будущем
![]() значит было select * from test_mas2 where name=regexp_replace (UPPER(name), '0', 'О') and name=regexp_replace (UPPER(name), 'O', 'О') and name=regexp_replace (UPPER(name), '3', 'З') and name=regexp_replace (UPPER(name), 'A', 'А') and doc_ser=regexp_replace(UPPER(doc_se r),'O','0') and doc_ser=regexp_replace(UPPER(doc_se r),'О','0') and regexp_like (UPPER(name),'^(ЗАО|ООО|ОАО|КПП|ЗАК РЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО|ФИЛИАЛ|ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ|ОТКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО)') and not regexp_like(name, '^"[.](A-Za-z)#\s|^"[.](A-Za-z)#\.') and regexp_like (inn,'^\d{9}$') and regexp_like (doc_ser,'^(\d)$') and not regexp_like (doc_ser,'^0$') or regexp_like(name,'^"\s*') or regexp_like(name, '^[(А-Я){3,}]+\s') поступили замечания 1. Привести к одному регистру 2. Убрать мусор (лишние пробелы, знаки препинания) 3. Реквизиты указанные в название перенести на свое место (например если поле ИНН пустое, а он есть в наименовании то стоит его вернуть на свое место) 4. Унифицировать «стоп» слова. Т.е. все стандартные слова привести к одинаковому написанию. Для юридических лиц – организационно-правовые формы, для адресов слова «улица», «дом» и т.д. 5. Проверить каждое поле на соответствие эталонному шаблону, если не подходит – попробовать исправить по возможности 6. Проверить логическую взаимоcвязку реквизитов между собой. вот что попробовали сделать declare v_TestString varchar2(255) v_testchar varchar2(255); v_INN varchar(255); cursor cur_DataRecords is select id, name, INN, OGRN FROM test_mas3; begin dbms_output.enable; sfor v_TestString in cur_DataRecord loop v_testchar:=regexp_substr(v_TestStr ing,'.*\".*'); dbms_output.put_line(v_testchar); if v_testchar!=' ' THEN v_testchar:=regexp_replace(v_testch ar,'"{1,}','' ); end if; v_testchar:=regexp_substr(v_TestStr ing,'.*ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ.*'); dbms_output.put_line(v_testchar); if v_testchar!=' ' THEN v_testchar:=regexp_replace(v_testch ar,'ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ','ООО' ); end if; v_testchar:=regexp_substr(v_testcha r,'.*(\d){9,11}.*'); dbms_output.put_line(v_testchar); if v_testchar!=' ' THEN v_INN:=regexp_substr(v_testchar,'(\ d){9,11}'); v_testchar:=regexp_replace(v_testch ar,v_INN,'' ); end if; dbms_output.put_line(v_testchar); v_testchar:=regexp_substr(v_testcha r,'^\s'); dbms_output.put_line(v_testchar); if v_testchar!=' ' THEN v_testchar:=regexp_replace(v_testch ar,'^\s','' ); end if; dbms_output.put_line(v_testchar); v_testchar:=regexp_substr(v_TestStr ing,'.*ЗАКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО.*'); dbms_output.put_line(v_testchar); if v_testchar!=' ' THEN v_testchar:=regexp_replace(v_testch ar,'ЗАКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО','ЗАО' ); end if; end loop; end; сдаётся мне, что что-то тут не всё. нужно адекватное мнение: имеет ли это смысл? можете указать на какие-то ошибки? еще я там мельком видела про платные услуги: это куда обращаться, если что?))) ну и как обычно, горю, помогите)) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос по SQL | wadzik | БД в Delphi | 5 | 19.08.2009 12:47 |
Вопрос по SQL | ]Wowan[ | БД в Delphi | 0 | 18.03.2009 10:49 |
вопрос по SQL запросу | Anton_S | БД в Delphi | 5 | 09.06.2008 01:47 |
Вопрос по SQL | Taras | БД в Delphi | 9 | 16.01.2008 12:45 |
Еще один вопрос с SQL-ом | фЁдОр | БД в Delphi | 27 | 22.10.2007 12:42 |