<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Oracle和達夢:相似度函數:UTL_MATCH

      UTL_MATCH介紹:

      Oracle的UTL_MATCH包是一個提供字符串匹配和相似度計算功能的工具包。它包含了一系列函數,用于執行字符串比較、相似度計算和模式匹配等操作。

      UTL_MATCH包中的函數可以用于以下任務:

      1. 字符串相似度計算:UTL_MATCH提供了多個函數來計算字符串之間的相似度,如Jaro-Winkler相似度、編輯距離等。

      2. 模式匹配:UTL_MATCH提供了函數來執行基于模式的匹配,如正則表達式匹配、通配符匹配等。

      3. 字符串比較:UTL_MATCH提供了函數來執行字符串的比較,如大小寫敏感或不敏感的比較、基于排序規則的比較等。

      4. 字符串規范化:UTL_MATCH提供了函數來規范化字符串,如去除多余的空格、轉換為大寫或小寫等。

      UTL_MATCH包提供了一些有用的功能,可以幫助開發人員在Oracle數據庫中進行字符串處理和匹配操作。請注意,使用UTL_MATCH包需要適當的權限,并且在正確的數據庫環境中執行。

      1、歸一化編輯距離

      函數:UTL_MATCH.edit_distance_similarity

      • UTL_MATCH.edit_distance_similarity是Oracle數據庫中的一個函數,用于計算兩個字符串之間的相似度。它基于編輯距離算法,該算法用于衡量兩個字符串之間的相似程度。

      • 編輯距離是通過計算將一個字符串轉換為另一個字符串所需的最少編輯操作次數來衡量的。這些編輯操作可以是插入、刪除或替換字符。

      • 函數UTL_MATCH.edit_distance_similarity返回一個介于0和100之間的相似度分數,表示兩個字符串之間的相似程度,其中0表示完全不相似100表示完全相似。

      • 通過使用UTL_MATCH.edit_distance_similarity函數,您可以比較兩個字符串的相似程度,并根據需要進行進一步的處理或決策。例如,您可以在搜索引擎中使用它來提供與用戶查詢相關的最佳匹配結果,或者在數據清洗過程中使用它來查找相似的字符串并進行合并或去重操作。

      使用

      1、第一個參數是要匹配的字符串,第二個參數是要與之進行匹配的字符串

      SELECT UTL_MATCH.edit_distance_similarity ('param1', 'param2') AS similarity 
      
      • 返回:84

      ☆2、第一個參數可以是查詢表的列,您可以將表的列名作為第一個參數傳遞給該函數,以計算該列中每個值與指定字符串之間的相似度。

      SELECT UTL_MATCH.edit_distance_similarity (列名, '6') AS similarity
      SELECT UTL_MATCH.edit_distance_similarity ("列名", '6') AS similarity
      

      實踐

      • 查詢表TABLE_1的C2_VARCHAR2字段的值和6匹配的相似度,并且取相似度大于2的值
      SELECT
        *
      FROM
        (
        SELECT
          UTL_MATCH.edit_distance_similarity (C2_VARCHAR2, '6') AS similarity,
          *
        FROM
          TABLE_1
        ORDER BY similarity DESC) AS a
      WHERE
        similarity >= 2
      

      返回:
      image

      2、Jaro-Winkler相似度算法

      函數:UTL_MATCH.JARO_WINKLER_SIMILARITY

      Jaro-Winkler相似度是一種用于比較兩個字符串之間相似程度的度量方法。它基于字符匹配和字符順序的相似性,常用于姓名、地址等文本數據的相似度計算。

      Jaro-Winkler相似度算法由William E. Winkler在1989年提出,是對Jaro相似度算法的改進。它通過計算字符匹配的數量、字符順序的相似性以及前綴匹配的權重來確定字符串的相似度。

      Jaro-Winkler相似度的計算過程如下:

      1. 計算匹配的字符數量(m):對于兩個字符串,計算在相同位置上字符相等的數量。

      2. 計算相似字符交換的數量(t):對于兩個字符串,計算在不同位置上字符相等但順序不同的數量。

      3. 計算相似度(similarity):根據公式計算相似度,公式如下:

      similarity = (m / |s1| + m / |s2| + (m - t) / m) / 3
      
      1. 計算前綴匹配的權重(prefix weight):如果兩個字符串的前綴匹配,則根據公式計算前綴匹配的權重,公式如下:
      prefix weight = prefixLen * p * (1 - similarity)
      

      其中,prefixLen是前綴匹配的長度,p是一個常數(通常為0.1),similarity是相似度。

      1. 計算Jaro-Winkler相似度(JW similarity):根據公式計算Jaro-Winkler相似度,公式如下:
       JW similarity = similarity + prefix weight
      

      Jaro-Winkler相似度的取值范圍為0到100,數值越接近100表示字符串越相似。

      在Oracle數據庫中,可以使用UTL_MATCH包中的UTL_MATCH.JARO_WINKLER_SIMILARITY函數來計算Jaro-Winkler相似度。該函數接受兩個字符串作為參數,并返回它們之間的Jaro-Winkler相似度值。

      使用

      -- oracle/dm實現的:Jaro-Winkler相似度算法
      SELECT UTL_MATCH.JARO_WINKLER_SIMILARITY('h1e2l3l4o', 'ddddhello') AS JaroWinkler相似度;
      

      結果

      image

      posted on 2023-11-10 11:47  C_C_菜園  閱讀(2434)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 林芝县| 免费视频爱爱太爽了| 深夜释放自己在线观看| 国产在线视频www色| 国产精品国产亚洲区久久| 视频一区视频二区亚洲视频| 午夜无码国产18禁| 亚洲av无码精品蜜桃| 伊人久久大香线蕉网av| 国产精品午夜精品福利| 精品国产亚洲一区二区三区| 天堂网av一区二区三区| 亚洲日本精品一区二区| 国产精品无码dvd在线观看| 日韩在线视频线观看一区| 日本高清在线观看WWW色| 国内精品久久久久久无码不卡| 国产精品污双胞胎在线观看| 国产不卡在线一区二区| 少妇人妻精品一区二区| 亚洲暴爽av人人爽日日碰| 无码AV无码免费一区二区| 亚洲无av在线中文字幕| 日本三线免费视频观看| 在线 欧美 中文 亚洲 精品| 商南县| 无码国产偷倩在线播放老年人| 青青草原网站在线观看| 国产精品无遮挡猛进猛出| 久久精品国产色蜜蜜麻豆| 中文字幕v亚洲日本在线电影| 人妻中文字幕精品系列| 国产在线自拍一区二区三区| 人妻伦理在线一二三区| 动漫精品中文无码卡通动漫| 国内少妇偷人精品免费| 国产精品自拍中文字幕| 欧美激情一区二区| 本免费Av无码专区一区| 国产情侣激情在线对白| 亚洲国产精品综合一区二区|