<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # F.15\. fuzzystrmatch `fuzzystrmatch`模塊提供幾個函數判斷字符串之間的相似點和距離。 | **Caution** | |:--- | | 目前,`soundex`, `metaphone`, `dmetaphone`, 和 `dmetaphone_alt`不適合多字節編碼(如UTF-8)。 | ## F.15.1\. Soundex Soundex 系統是一種通過轉換為相同代碼匹配相似發音名字的方法。 最初是在1880、1900和1910年用于美國的人口普查。注意Soundex對于非英文的名字不是很有幫助。 `fuzzystrmatch`模塊提供和Soundex代碼一起使用的兩個函數: ``` soundex(text) returns text difference(text, text) returns int ``` `soundex`函數轉換字符串為Soundex代碼。`difference` 函數轉換兩個字符串為它們的Soundex代碼然后報告匹配代碼位置的數量。 因為Soundex代碼有四個字符,結果范圍從零到四,零表示沒有匹配而四表示完全匹配。 (因此,這個函數取名不當,`similarity`本是一個好名字。) 這里是一些有用的示例: ``` SELECT soundex('hello world!'); SELECT soundex('Anne'), soundex('Ann'), difference('Anne', 'Ann'); SELECT soundex('Anne'), soundex('Andrew'), difference('Anne', 'Andrew'); SELECT soundex('Anne'), soundex('Margaret'), difference('Anne', 'Margaret'); CREATE TABLE s (nm text); INSERT INTO s VALUES ('john'); INSERT INTO s VALUES ('joan'); INSERT INTO s VALUES ('wobbly'); INSERT INTO s VALUES ('jack'); SELECT * FROM s WHERE soundex(nm) = soundex('john'); SELECT * FROM s WHERE difference(s.nm, 'john') > 2; ``` ## F.15.2\. Levenshtein 這個函數計算兩個字符串之間的Levenshtein距離: ``` levenshtein(text source, text target, int ins_cost, int del_cost, int sub_cost) returns int levenshtein(text source, text target) returns int levenshtein_less_equal(text source, text target, int ins_cost, int del_cost, int sub_cost, int max_d) returns int levenshtein_less_equal(text source, text target, int max_d) returns int ``` `source`和`target`都可以是任意非空字符串,最多為255字節。 cost參數聲明對于一個字符插入、刪除或替換分別改變多少。可以省略cost參數, 就像該函數的第二種語法;這種情況下,他們缺省都是1。`levenshtein_less_equal` 對于低距離是levenshtein函數的快速版本。如果實際距離小于或等于max_d, 那么`levenshtein_less_equal`返回實際值。否則這個函數返回大于max_d的值。 示例: ``` test=# SELECT levenshtein('GUMBO', 'GAMBOL'); levenshtein ------------- 2 (1 row) test=# SELECT levenshtein('GUMBO', 'GAMBOL', 2,1,1); levenshtein ------------- 3 (1 row) test=# SELECT levenshtein_less_equal('extensive', 'exhaustive',2); levenshtein_less_equal ------------------------ 3 (1 row) test=# SELECT levenshtein_less_equal('extensive', 'exhaustive',4); levenshtein_less_equal ------------------------ 4 (1 row) ``` ## F.15.3\. Metaphone Metaphone,類似于Soundex,基于為輸入字符串構造一個典型的代碼的想法。 如果兩個字符串有相同的代碼那么認為它們相似。 這個函數計算輸入字符串的metaphone代碼: ``` metaphone(text source, int max_output_length) returns text ``` `source`必須為一個非空字符串,最多為255個字符。 `max_output_length`設置輸出metaphone代碼的最大長度; 如果實際比這長,那么輸出截斷為這個長度。 示例: ``` test=# SELECT metaphone('GUMBO', 4); metaphone ----------- KM (1 row) ``` ## F.15.4\. Double Metaphone Double Metaphone系統為一個給定的輸入字符串計算兩個"聽起來像"的字符串— 一個"原先的"和一個"替換的"。大多數情況下它們相同, 但是取決于發音它們對于非英文名有一點不同。這些函數計算原先的和替換的代碼: ``` dmetaphone(text source) returns text dmetaphone_alt(text source) returns text ``` 這里對于輸入字符串沒有長度限制。 示例: ``` test=# select dmetaphone('gumbo'); dmetaphone ------------ KMP (1 row) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看