要匹配文件夹下的文件列表,该用什么 SQL 语句实现?

SQLite 数据库里存储了一些文件路径列表,想获取某文件夹下的文件列表,当前用的 SQL 语句类似于这样:

SELECT COUNT(f.path) FROM file f 
WHERE f.path LIKE 'D:\\DIR1\\DIR2\\%' ESCAPE '\'

但它会查询出 D:\DIR1\DIR2 目录下所有的文件,包括子级目录里的文件,该怎么修改才能只查询出一级文件列表?


已经改用 sqlite3_create_function() 函数创建了一个自定义函数,用于判断文件路径是否在该目录下,用法类似于这样:

SELECT COUNT(f.path) FROM file f 
WHERE DIR_HAS_FILE('D:\DIR1\DIR2\', f.path)
阅读 3.1k
1 个回答

正则表达式,REGEXP

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进