相容oracle的edit_distance_similarity 比較兩個字串相似度
瀚高資料庫
系統平臺:
Linux x86 Red Hat Enterprise Linux 6
版本:
4.5.7
在進行應用適配過程中會遇到使用者使用oracle的SYS.UTL_MATCH.edit_distance_similarity自帶函式,進行比較兩個字串的相似度,但在替換為瀚高資料庫後,會產生函式不存在的問題。
瀚高資料庫核心未相容oracle的SYS.UTL_MATCH.edit_distance_similarity,暫未支援。所以需要透過瀚高資料庫編寫自定義函式的方式去實現oracle的SYS.UTL_MATCH.edit_distance_similarity的相同的效果,達到減少程式碼修改量的初衷。
1、首先在瀚高資料庫中建立擴充套件:
create EXTENSION fuzzystrmatch;
2、在瀚高資料庫中執行下述SQL:
create or replace function edit_distance_similarity(text,text) returns numeric as $$ declare reault NUMERIC; max_length numeric; begin if length($1) > length($2) then max_length = length($1); else max_length = length($2); end if; select round((1 - (levenshtein($1, $2) / max_length ::numeric)) * 100) into reault ; return reault; end; $$ LANGUAGE plpgsql
3、使用:
select edit_distance_similarity('瀚高資料庫','國產瀚高資料庫第一');
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994931/viewspace-2936214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#比較兩個字串的相似度【轉】C#字串
- java中利用hanlp比較兩個文字相似度的步驟JavaHanLP
- python如何比較兩個字串是否相等Python字串
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 怎樣衡量兩個字串的相似度(編輯距離動態規劃求解)字串動態規劃
- 影像相似度比較和檢測影像中的特定物
- 字串比較字串
- 比較兩個table是否相同
- JavaScript比較兩個時間JavaScript
- pandas比較兩個文件的差異
- Javers 比較兩個類的差異
- 字串-簡單字串比較字串
- PHP比較字串PHP字串
- java實現兩個文字相似度 simHash 實現Java
- 比較兩個陣列是否相等陣列
- Java™ 教程(比較字串和字串的部分)Java字串
- python字串比較大小Python字串
- 字串比較的常用函式字串函式
- matlab比較兩個矩陣是否相等Matlab矩陣
- 字串大小寫轉換和字串的比較字串
- Oracle date 型別比較和String比較Oracle型別
- 844. 比較含退格的字串字串
- Java Optional的orElse()與orElseGet()兩個方法比較 - BaeldungJava
- 比較兩個陣列中是否有相同的元素陣列
- 字串拼接運算比較字串
- C++ - 比較兩個浮點數大小C++
- 比較兩個檔案,求出不同的內容,A-B
- 如何比較兩個資料庫表結構的不同資料庫
- 同一張表的兩個欄位比較查詢
- 圖片相似度對比SSIM和PHash
- 演算法:比較含退格的字串演算法字串
- 兩集合比較判斷
- Java 字串比較、拼接問題Java字串
- 使用String. localeCompare比較字串字串
- Java字串建立方式比較Java字串
- SciTech-BigDataAIML-KLD(KL散度):測度比較"兩Distribution(機率分佈)"的Similarity(接近度)AIMILA
- 前端人臉識別--兩張臉相似度前端
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件