在mysql查询中查找路径的扩展名

时间:2017-12-02 08:52:08

标签: mysql

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!

2 个答案:

答案 0 :(得分:0)

尝试在搜索关键字之前添加.,并仅搜索以搜索关键字结尾的名称,如下所示

WHERE rlist.name LIKE '%.$textInput'

答案 1 :(得分:0)

我解决了!:) 在这种情况下,我定义了一个函数,如你所见: DELIMITER $$ CREATE DEFINER= {根{1}} {本地主机{1}}的getPath @ {pathType {1}}网址FUNCTION

在此函数中,您可以分隔路径的扩展,如果路径引用目录,则忽略它

相关问题