我想了解這個正則表達式函數的含義和它在select語句中的用途。SQL正則表達式函數
create or replace FUNCTION REPS_MTCH(string_orig IN VARCHAR2 , string_new IN VARCHAR2, score IN NUMBER)
RETURN PLS_INTEGER AS
BEGIN
IF string_orig IS NULL AND string_new IS NULL THEN
RETURN 0;
ELSIF utl_match.jaro_winkler_similarity(replace(REGEXP_REPLACE(UPPER(string_orig), '[^a-z|A-Z|0-9]+', ''),' ',''),replace(REGEXP_REPLACE(UPPER(string_new), '[^a-z|A-Z|0-9]+', ''),' ','')) >= score THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
//該REPS_MTCH函數被調用這個select語句。 select語句將在臨時表名稱中將REPS_MTCH_D_STDNT_TMP中的名稱與名爲REPS_MTCH_D_STDNT_MSTR的主表中的名稱進行匹配。這個select語句中REPS_MTCH函數的用途是什麼?
SELECT
REPS_MTCH(REPS_MTCH_D_STDNT_TMP.FIRST_NAME,REPS_MTCH_D_STDNT_MSTR.FIRST_NAME,85) AS first_match_score,
這個select語句中REPS_MTCH函數的用途是什麼?
MySQL,SQL Server和Oracle是不同的產品,具有不同的SQL和功能。你使用哪一個? – jarlh
@jarlh是一個oracle數據庫,但我們使用蟾蜍作爲編輯器 – Bright
我不確定你在問什麼。在進行比較之前,'regexp_replace'調用簡單地消除了不是字母數字的任何內容。所以字符串「F.o.o.B.a.r」將與字符串「FooBar」100%匹配。 'jaro_winkler_similarity'函數使用Jaro-Winkler相似度算法來估計兩個字符串的匹配程度。 「Justin」與「Justine」非常相似,但與「Bright」非常不同。 –