Oracle UTL_MATCH
Version 18.3.0.1

General Information
Library Note Morgan's Library Page Header
Coming to OpenWorld 2018? Be sure to visit the TidalScale booth in Moscone South and learn how to solve performance problems and lower costs with Software Defined Servers. Before you visit the booth, or if you can't make it this year, check out TidalScale at www.tidalscale.com. Be sure to click on the Solutions link and look through the Oracle resources.
Purpose The four functions included in the package use different methods to compare a source string and destination string, and return an assessment of what it would take to turn the source string into the destination string. This functionality is defined as a stand-alone package header compiled with PRAGMA INTERFACE(c....

This package was deprecated as of 05-October-2017.
AUTHID DEFINER
Dependencies Only STANDARD
Documented Yes
First Available Not known
Security Model Owned by SYS with EXECUTE granted to PUBLIC
Source $ORACLE_HOME/rdbms/admin/utlmatch.sql
Subprograms
 
EDIT_DISTANCE
Returns the number of changes required to turn the source string into the destination string using the Levenshtein Distance algorithm utl_match.edit_distance(s1 IN VARCHAR2, s2 IN VARCHAR2) RETURN PLS_INTEGER;
SELECT utl_match.edit_distance('expresso', 'espresso') DIST
FROM dual;
 
EDIT_DISTANCE_SIMILARITY
Returns an integer between 0 and 100, where 0 indicates no similarity at all and 100 indicates a perfect match utl_match.edit_distance_similarity(s1 IN VARCHAR2, s2 IN VARCHAR2) RETURN PLS_INTEGER;
SELECT utl_match.edit_distance_similarity('expresso', 'espresso') SIM
FROM dual;
 
JARO_WINKLER
Instead of simply calculating the number of steps required to change the source string to the destination string, determines how closely the two strings agree with each other and tries to take into account the possibility of a data entry error utl_match.jaro_winkler(
s1 IN VARCHAR2,
s2 IN VARCHAR2)
RETURN BINARY_DOUBLE;
SELECT utl_match.jaro_winkler('expresso', 'espresso') DIST
FROM dual;
 
JARO_WINKLER_SIMILARITY
Returns an integer between 0 and 100, where 0 indicates no similarity at all and 100 indicates a perfect match but tries to take into account possible data entry errors utl_match.jaro_winkler_similarity(
s1 IN VARCHAR2,
s2 IN VARCHAR2)
RETURN PLS_INTEGER;
SELECT utl_match.jaro_winkler_similarity('expresso', 'expresso') SIM
FROM dual;

Related Topics
Built-in Functions
Built-in Packages
Regular Expressions
Soundex
String Functions
What's New In 12cR2
What's New In 18cR3

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved