我的SQLite数据库中有一列包含文件路径。
给定一个任意文件路径,我需要返回该文件路径的最佳匹配
如果路径列包含:
/my/folder/foo
/my/folder/foo/bar
/my/other_folder/other_foo
/my/other_folder/other_foo/other_bar
如果我使用路径/my/folder/foo/images/png/myimage.png
进行查询,它应该返回/my/folder/foo
如果我使用路径/my/folder/foo/bar/pdf/mypdf.pdf
进行查询,它应该返回/my/folder/foo/bar
请注意,查询中使用的路径通常比表中存储的路径长
我一直在使用“正常”和“递归”查询来解决这个问题,但没有成功,所以如果有人能提供任何建议,我将不胜感激
1条答案
按热度按时间68de4m5k1#
如果我没理解错的话,我们可以过滤搜索参数开头匹配的路径,然后保留字符最多的路径。
所以:
...其中
:param
表示查询的输入参数。