MySQL 在进行类似 concat 的比较时不返回结果



我正在MySQL中构建一个查询,以获取特定列的soundex类似于给定值的soundex的记录

我正在提交此查询:

select nombre_busqueda, 
soundex(nombre_busqueda), 
soundex('derticia'), 
concat('%', (soundex(nombre_busqueda)) , '%')  
from jugador j 
WHERE idjugador=472 

并获得以下内容

nombre_busqueda
dertycia oscar alberto alvarez
soundex(nombre_busqueda)
D632641634162
soundex('derticia')
D632
concat('%', (soundex(nombre_busqueda)) , '%')
%D632641634162%

因此,进行比较并获得结果看起来很完美。 但是当我发出以下查询时:

select nombre_busqueda, 
soundex(nombre_busqueda), 
soundex('derticia'), 
concat('%', (soundex(nombre_busqueda)) , '%')  
from jugador j WHERE 
soundex('derticia') like concat('%', (soundex(nombre_busqueda)) , '%')

什么都不回来! 我做错了什么?在我看来,这应该很明显!

交换LIKE两侧的参数:

select nombre_busqueda, 
soundex(nombre_busqueda), 
soundex('derticia'), 
concat('%', (soundex(nombre_busqueda)) , '%')  
from jugador j 
WHERE soundex(nombre_busqueda) like concat('%', soundex('derticia') , '%')

最新更新