gpt4 book ai didi

mysql - 在 mysql 中,我们有 SOUNDEX() 或者我们可以使用 SOUNDS LIKE 来进行相关/错误的拼写或单词匹配,所以它们就像 BIGQUERY 中的任何东西一样

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:29 25 4
gpt4 key购买 nike

mysql 中我们有

SOUNDEX()

SOUNDS LIKE

查询中的相关/错误拼写或单词匹配

BigQuery 中有类似的东西吗? BigQuery 可以用于此类查询吗?

最佳答案

使用 BigQuery User-Defined Functions (UDF)在 JavaScript 中,您可以自己简单地实现 SOUNDEX 函数。

这是计算 SOUNDEX 的 BigQuery SQL 语句:

#standardSQL
CREATE TEMP FUNCTION SOUNDEX(name STRING)
RETURNS STRING
LANGUAGE js AS """
if (name == null) return null;
let s = [];
let si = 1;
let c;
// ABCDEFGHIJKLMNOPQRSTUVWXYZ
let mappings = "01230120022455012623010202";
s[0] = name[0].toUpperCase();
for(let i = 1, l = name.length; i < l; i++) {
c = (name[i].toUpperCase()).charCodeAt(0) - 65;
if(c < 0 || c > 25) { continue; }
if(mappings[c] == '0') { continue; }
if(mappings[c] != s[si-1]) {
s[si] = mappings[c];
si++;
}
if(si > 3) { break; }
}
if(si <= 3) {
while(si <= 3) {
s[si] = '0';
si++;
}
}
return s.join("");
""";

SELECT SOUNDEX("John Doe"), SOUNDEX("Jon Do")

来源:我从 Chris Webb blog 中获取了原始 JavaScript 代码发布here并稍微更改编码语法。

关于mysql - 在 mysql 中,我们有 SOUNDEX() 或者我们可以使用 SOUNDS LIKE 来进行相关/错误的拼写或单词匹配,所以它们就像 BIGQUERY 中的任何东西一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com