我正在将网站的页面存储在“页面”数据库表中,它们由路径引用(即“文章/我的第一篇博客文章”),我需要选择特定页面的所有子级,但不选择孙级。
所以如果我跑:
SELECT * FROM pages WHERE path LIKE 'articles%'
我将获得具有以下路径的页面:
articles/one articles/two articles/two/more articles/three articles/three/more/even-more
I need to filter them (in the query) to just:
articles/one articles/two articles/three
Is there anyway to do something like:
SELECT * FROM pages WHERE path LIKE 'articles%' AND path NOT LIKE 'articles%/%'
有什么想法吗?干杯。
最佳答案
你可以使用正则表达式。关键字REGEXP
对mysql和sqlite都有效:
... WHERE path REGEXP '^articles/[^/]+'
关于sql - 在MySQL/SQLite数据库中按路径选择页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1519904/