[ORACLE] Zapytanie o podobny numer... ale trochę inaczej
qqruźNIK - 24-12-2006 00:37
[ORACLE] Zapytanie o podobny numer... ale trochę inaczej
Jak wybrać z bazy numery różniące się jedną cyfrą (inną lub brakującą)
Może jaśniej na przykładzie. Załóżmy że mamy bazę numerów telefonów. Przychodzą dane które wg. numerów telefonów mają zostać dopasowane do głównej bazy ale część z nich przychodzi z błędami.
Zakładam że przekłamanie może polegać na zafałszowaniu maksymalnie jednej cyfry bądź (co częstrze) na jej braku (na dowolnej pozycji).
Bawiłem się pisząc warunek wycinający SubStr'ingami tekst bez każdej kolejno cyferki i porównujący z błędnym numerem ale raczej nie tędy droga... Zwłaszcza że numery mogą być w kilku różnych długościach.
Ma ktoś może jakiś pomysł na rozwiązanie tego problemu?
---------- qqruźNIK
Sergiusz Rozanski - 24-12-2006 00:37
Dnia 12.12.2006 qqruźNIK <qqruznik@wywalto.poczta.onet.pl> napisał/a: > Jak wybrać z bazy numery różniące się jedną cyfrą (inną lub brakującą) > > Może jaśniej na przykładzie. > Załóżmy że mamy bazę numerów telefonów. > Przychodzą dane które wg. numerów telefonów mają zostać dopasowane do > głównej bazy ale część z nich przychodzi z błędami. > > Zakładam że przekłamanie może polegać na zafałszowaniu maksymalnie > jednej cyfry bądź (co częstrze) na jej braku (na dowolnej pozycji). > > > Bawiłem się pisząc warunek wycinający SubStr'ingami tekst bez każdej > kolejno cyferki i porównujący z błędnym numerem ale raczej nie tędy droga... > Zwłaszcza że numery mogą być w kilku różnych długościach. > > Ma ktoś może jakiś pomysł na rozwiązanie tego problemu?
Coś co znacznie przyspieszy wyszukiwanie: suma cyfr różni się max +-9. Warunek może nie wystarczający, ale konieczny. Możesz na takie coś założyć indeks, zawęzi to znacznie zbiór wartości przy wyszukiwaniu, a between na integerze śmiga.
-- *** rozanski.at.sergiusz.dot.com sq3bkn *** *** http://jeep.comm.pl *** *** rtg project http://gg.overwap.net ***
Lucyna Witkowska - 24-12-2006 00:37
qqruźNIK <qqruznik@wywalto.poczta.onet.pl> napisał: > Jak wybrać z bazy numery różniące się jedną cyfrą (inną lub brakującą)
> Może jaśniej na przykładzie. > Załóżmy że mamy bazę numerów telefonów. > Przychodzą dane które wg. numerów telefonów mają zostać dopasowane do > głównej bazy ale część z nich przychodzi z błędami.
> Zakładam że przekłamanie może polegać na zafałszowaniu maksymalnie > jednej cyfry bądź (co częstrze) na jej braku (na dowolnej pozycji).
Jesli baza jest 10g to IMO najlepsze będą wyrażenia regularne.
Pozdrowienia, LW
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle 19g +Insert +Insert +Insert...
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
=?iso-8859-2?q?[oracle_10g]_jak_da=E6_grant_do_gv$=2E=2E=2E=2E_=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plown-team.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|