我想执行一个SQL命令。但是,关键字可能包含错误。例如,正确的命令应该是
studentAge
它将返回1。
但是,如果有人执行以下错误命令:
doSomething(studentAge: number) {
studentAge = this.calculate(studentAge);
if (studentAge <= 15) {
alert(studentAge);
}
}
calculate(studentAge: number): number {
if (studentAge > 15) {
return studentAge;
}
else {
return studentAge + 20;
}
}
如何更改命令以使其仍返回1?
非常感谢。
答案 0 :(得分:2)
有很多方法可以解决这些问题,但是请记住,这并不是最简单的任务。您正在寻找的是一种模糊搜索算法。
这应该可以帮助您入门:Fuzzy searches in SQL Server (Redgate) 代码项目在这里也有一些有趣的选项:Implementing phonetic name searches
如果您正在寻找更简单但更准系统的解决方案,则应考虑使用SOUNDEX或DIFFERENCE(假设您的dbms是MSSQL)。我一直在玩DIFFERENCE
,这很有趣,可以立即使用。
答案 1 :(得分:0)
尝试
select id from my_table where SOUNDEX(name) = SOUNDEX('Tomyy')