MySQL的difference函數(shù)可以用來(lái)計(jì)算兩個(gè)字符串的差異度。它返回一個(gè)表示差異度的整數(shù),整數(shù)越小表示兩個(gè)字符串越相似。
SELECT difference('abc', 'adc'); -- 返回1 SELECT difference('abcd', 'adcd'); -- 返回2 SELECT difference('hello', 'world'); -- 返回4
上面的例子中,第一個(gè)例子中字符串'abc'和字符串'adc'的差異度為1,因?yàn)樽址?abc'中的'b'和字符串'adc'中的'd'不同。第二個(gè)例子中字符串'abcd'和字符串'adcd'的差異度為2,因?yàn)橹挥械诙€(gè)字符'b'和第三個(gè)字符'c'是不同的。第三個(gè)例子中字符串'hello'和字符串'world'的差異度為4,因?yàn)閮蓚€(gè)字符串完全不同。
此外,如果兩個(gè)字符串的長(zhǎng)度不同,函數(shù)會(huì)自動(dòng)將較短的字符串在結(jié)尾處用空格填充,直到兩個(gè)字符串長(zhǎng)度相等。例如:
SELECT difference('abc', 'ab '); -- 返回1 SELECT difference('ab', 'a b'); -- 返回3
在這些例子中,第一個(gè)例子中字符串'abc'和字符串'ab'的長(zhǎng)度不同,函數(shù)會(huì)在較短的字符串結(jié)尾處用空格填充,所以字符串'abc'變成了'ab ',差異度為1。第二個(gè)例子中字符串'ab'和字符串'a b'的長(zhǎng)度不同,函數(shù)會(huì)在較短的字符串結(jié)尾處用空格填充,所以字符串'ab'變成了'ab ',字符串'a b'沒(méi)有改變,差異度為3。
上一篇mysql中desc作用
下一篇mysql中desc