.相似性
对于MySQL中的Levenshtein,SELECT
column,
LEVENSHTEIN(column, 'search_string') AS distance
FROM table WHERE
LEVENSHTEIN(column, 'search_string')
2.包含、不区分大小写
使用LIKE语句,默认情况下它不区分大小写。这个%是通配符,所以前后可能有任何字符串。search_string.SELECT
*FROM
tableWHERE
column_name LIKE "%search_string%"
3.包含、区分大小写默认字符集和排序规则是latin 1和latin 1_瑞典_ci,因此非二进制字符串比较在默认情况下是不区分大小写的。这意味着,如果使用colname(如‘a%’)进行搜索,则会得到以A或a开头的所有列值。要使此搜索区分大小写,请确保其中一个操作数具有区分大小写或二进制排序规则。例如,如果要比较具有latin 1字符集的列和字符串,则可以使用排序规则运算符使操作数具有latin 1_General_cs或latin 1_bin排序规则.
我的MySQL安装程序不支持latin1_general_cs或latin1_bin,但对我来说,使用校对是很好的。utf8_bin由于二进制UTF 8区分大小写:SELECT
*FROM
tableWHERE
column_name LIKE "%search_string%" COLLATE utf8_bin
2./3.按Levenshtein距离排序SELECT
column,
LEVENSHTEIN(column, 'search_string') AS distance // for sortingFROM table WHERE
column_name LIKE "%search_string%"
COLLATE utf8_bin // for case sensitivity, just leave out for CIORDER BY
distance DESC