当前位置: 代码迷 >> 其他数据库 >> sqlite 通配符有关问题,字符串部分匹配?
  详细解决方案

sqlite 通配符有关问题,字符串部分匹配?

热度:2273   发布时间:2013-02-26 00:00:00.0
sqlite 通配符问题,字符串部分匹配??
数据库有个fullpath字段,存的是文件的全路径,如:/media/video/abc.rmvb.
假设有如下两条记录:
/media/video/abc.rmvb
/media/video/abcd.rmvb

现在要搜索文件名中包含“d”的记录,注意只是文件名,不能在全路径里面去匹配。
所以我预期的结果应该只有/media/video/abcd.rmvb

但是用select * from TableName where fullpath like '%d%'会把两条记录都列出来。

不知有什么办法可以满足我的要求,因为应用比较简单,不想为了这个专门弄个正则,不知是否有办法用通配符+内置函数解决这个问题。

------解决方案--------------------------------------------------------
假设格式固定:
 select replace('/media/video/adbc.rmvb', '/media/video/','') like '%d%'
------解决方案--------------------------------------------------------
探讨

格式不固定的,前面的路径可能是任意的

------解决方案--------------------------------------------------------
SQLITE中无法实现,你需要从全路径名中取出文件名,这个比较麻烦。
  相关解决方案