我在mysql表中有路径字段,用于存储页面的路径。
最后有页面ID,如33,31,121 ......
如何编写查询以仅获取ID?
Path
-----
trending-architectures/architecture_detail_page/31
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
trending-architectures/architecture_detail_page/33
答案 0 :(得分:2)
如果模式相同,则可以使用函数substring_index()
mysql> select substring_index('trending-architectures/architecture_detail_page/31','/',-1) as num;
+-----+
| num |
+-----+
| 31 |
+-----+
1 row in set (0.00 sec)
所以select语句将为
select
substring_index(path,'/',-1) as number
from table_name
;
答案 1 :(得分:0)
我可以想到两个解决方案,第一个解决方案利用explode将字符串拆分成一个数组,使用" /" deliemeter然后它在变量
中设置数组的最后一个值(即页面id)$path = explode('/', $path);
$page = end($path);
其他解决方案只是替换数字之前的任何文本
$page = str_replace('trending-architectures/architecture_detail_page/', '', $path);