从文件名中查找确切的文件名,并在数据库中存储完整路径

时间:2014-01-08 08:53:01

标签: sql

我需要通过在包含file_name列的表上执行SQL查询来找到确切的文件名。在file_name列中,文件的完整路径存储为D:/Workspace/app.js

我可以找到带有查询查询的app.js

SELECT * 
FROM details 
WHERE file_name LIKE '%app.js'

但问题是如果我写了像

这样的查询
SELECT * 
FROM details 
WHERE file_name LIKE '%p.js'

它还列出了app.js文件。因此,如果文件名与补充路径一起存储,那么任何人都可以指导我如何从数据库中获得文件名的精确匹配? 提前谢谢。

3 个答案:

答案 0 :(得分:1)

这个怎么样?

SELECT * FROM details WHERE file_name LIKE '%/app.js' OR file_name LIKE '%\app.js'

答案 1 :(得分:0)

“%”符号用于在模式之前和之后定义通配符(缺少字母)。因此,您永远找不到%app.js,因为没有xxxxapps.js

答案 2 :(得分:0)

感谢你们所有人, 我得到了我想要的结果

     sql = "SELECT * FROM details WHERE file_name RLIKE ?";
     ps = conn.prepareStatement(sql);
     ps.setString(1, "[[:<:]]"+fname+"[[:>:]]");

这给出了fname varible包含的确切字符串。