我需要通过在包含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文件。因此,如果文件名与补充路径一起存储,那么任何人都可以指导我如何从数据库中获得文件名的精确匹配? 提前谢谢。
答案 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包含的确切字符串。