1

首先,我不确定我应该为我的问题给出什么正确的标题。随意改变它。

假设我在数据库中有 4 个 URL。

http://joomla.mywebsite.net/3968923121/2412583825325/
http://www.joomla.mywebsite.net.talleresbanfield.com.ar/cadastrar/index.html
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/
http://test.com.datacity.mywebsite.net/images/joomla.mywebsite.net/


我如何只选择这 2 个 URL

http://joomla.mywebsite.net/3968923121/2412583825325/
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/

从给定的用户输入joomla.mywebsite.net。我可以LIKE %...%在此期间使用,SELECT但将选择所有 4 个 URL。我只需要显示正确使用的 URLjoomla.mywebsite.net作为它的子域。

我正在考虑首先选择所有 URL,分配到数组中并执行 preg_match 或 regex 来进行匹配,但是在选择期间进行单向查询是否有效?

提前致谢。

4

1 回答 1

1

你可以尝试这样的事情:

SELECT url
FROM t1
WHERE SUBSTRING_INDEX(url,'/',3) LIKE '%joomla.mywebsite.net'

SQLFiddle Demo

通过像这样使用SUBSTRING_INDEX,您可以比较这部分字符串:

http://joomla.mywebsite.net
http://www.joomla.mywebsite.net.talleresbanfield.com.ar
http://belowel.com.joomla.mywebsite.net
http://test.com.datacity.mywebsite.net

基本上是第三个 URL/

于 2013-08-20T21:39:45.987 回答