- 类别:
字符串和二进制函数 (匹配/比较)
JAROWINKLER_SIMILARITY¶
计算两个输入字符串之间的 Jaro-Winkler 相似度 (link removed)。该函数返回一个介于 0 和 100 之间的整数,其中 0 表示没有相似性,100 表示完全匹配。
备注
相似性计算不区分大小写。
计算对所有格式化字符(包括空格字符)都很敏感。
默认 比例因子 (link removed) 0.1 用于计算。
语法¶
JAROWINKLER_SIMILARITY( <string_expr1> , <string_expr2> )
实参¶
必填:
string_expr1
、.string_expr2
输入字符串。
使用说明¶
当函数比较短字符串时,执行时间与输入字符串长度的乘积成正比。
当函数比较长字符串时,执行时间与长字符串的长度成正比。
排序规则详细信息¶
No impact. In languages where the alphabet contains digraphs or trigraphs (such as "Dz" and "Dzs" in Hungarian), each character in each digraph and trigraph is treated as an independent character, not as part of a single multi-character letter.
结果仅基于字符串中的字符,而不基于字符串的排序规则规范。
示例¶
以下示例计算表 ed
中 s
列和 t
列的字符串之间的相似性。
SELECT s, t, JAROWINKLER_SIMILARITY(s, t), JAROWINKLER_SIMILARITY(t, s) FROM ed;
----------------+-----------------+------------------------------+------------------------------+
S | T | JAROWINKLER_SIMILARITY(S, T) | JAROWINKLER_SIMILARITY(T, S) |
----------------+-----------------+------------------------------+------------------------------+
| | 0 | 0 |
Gute nacht | Ich weis nicht | 56 | 56 |
Ich weiß nicht | Ich wei? nicht | 98 | 98 |
Ich weiß nicht | Ich weiss nicht | 97 | 97 |
Ich weiß nicht | [NULL] | [NULL] | [NULL] |
Snowflake | Oracle | 61 | 61 |
święta | swieta | 77 | 77 |
[NULL] | | [NULL] | [NULL] |
[NULL] | [NULL] | [NULL] | [NULL] |
----------------+-----------------+------------------------------+------------------------------+