SELECT *
FROM rlist
WHERE rlist.name LIKE '%$textInput%'
AND rlist.type='f'
ORDER BY CASE WHEN rlist.name = '$textInput' THEN 0
WHEN rlist.name LIKE '$textInput%' THEN 1
WHEN rlist.name LIKE '%$textInput%' THEN 2
WHEN rlist.name LIKE '%$textInput' THEN 3
ELSE 4
END, rlist.name ASC
并且在名称列中我有这样的文件名路径:
ftp://mtftp/Adobe_Products/Adobe dmg Converter 10.0 Mac.dmg
或
ftp://myftp/Adobe_Products/Adobe_After_Effect
现在我想在用户搜索示例时:dmg只是查询运行文件名而不是扩展名
在我的情况下,当我搜索zip时,我的查询结果很糟糕,因为有很多zip文件,但我想向用户展示winzip!
答案 0 :(得分:0)
尝试在搜索关键字之前添加.
,并仅搜索以搜索关键字结尾的名称,如下所示
WHERE rlist.name LIKE '%.$textInput'
答案 1 :(得分:0)
我解决了!:)
在这种情况下,我定义了一个函数,如你所见:
DELIMITER $$
CREATE DEFINER=
{根{1}} {本地主机{1}}的getPath @
{pathType {1}}网址FUNCTION
在此函数中,您可以分隔路径的扩展,如果路径引用目录,则忽略它