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

时间:2018-10-02 21:19:19

标签: mysql

我正在MySQL中建立查询以获取记录,其中特定列的音色类似于给定值的音色

我正在提交此查询:

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)) , '%')

一无所获! 我做错了什么?对我来说似乎很明显应该起作用!

1 个答案:

答案 0 :(得分:0)

交换LIKE两侧的参数:

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