Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 0
Dec 012012
 

V práci jsem narazil na jméno package, který jsem neznal – UTL_MATCH.  Přehlížet něco, co neznám bez snahy si doplnit informace je přirozené – člověk není schopen (a ani ochoten) pokrýt všechny informace ze všech oborů, ale u některých vybraných by se asi měla razit strategie: neznám=doplním/doučím. U PL/SQL se o to alespoň snažím, ač při 250 000 stránkové dokumentace to jde velmi těžko ;)

Takže pro mou psa nový balík UTL_MATCH :

High-level: Obsahuje funkce pro porovnání dvou stringů, konkrétně funkce:

  • EDIT_DISTANCE - počet nutných změn v prvním parametru, aby se získal parametr druhý:

select utl_match.edit_distance('aaaB','aaaa') from dual; -- 1 (změna B na a)
select utl_match.edit_distance('111a','aaaa') from dual; -- 3 (změny 1 na a)

  • EDIT_DISTANCE _SIMILARITY – počet nutných změn v prvním parametru, aby se získal parametr druhý, ale v normalizované formě <0,100> . Tedy jak moc jsou si podobné:

select utl_match.edit_distance_similarity('1111111111','2222222221') from dual;
-- výsledek je 10, 9 z 10 znaků je špatně, tedy podobnost je 10%*
select utl_match.edit_distance_similarity('2222222221','2222222221') from dual;
-- výsledek je 90, 9 z 10 znaků je totožných, tedy podobnost je 90%
select utl_match.edit_distance_similarity('22222','2222222221') from dual;
-- výsledek je 50, 50%* ze druhého stringu

* – píši %, protože to tak z výpočtu i logiky plyne, ač Oracle to specifikuje pouze jako interval <0,100>

  • JARO_WINKLER a JARO_WINKLER_SIMILARITY – podobně jako předchozí funkce počítají hodnotu mezi dvěma parametry, JARO_WINKLER v surové podobě *_SIMILARITY v normalizované formě opět v intervalu  <0,100>. Výpočet distance pomocí JARO_WINKLER lze nalézt zde na Wikipedii a jak tak na to koukám, tak bez příkladu s výpočtem – v jednu ráno to počítat asi nebudu ;)

Fajn věcička, budu na ní myslet, až budu hledat v all_objects nějakej pitomej objekt o kterém přesně nevím, jak se jmenuje či jak přesně se to píše:

UTL_MATCH příklad použití

 Posted by at 23:23

 Leave a Reply

(required)

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>