我当前的查询(不起作用)
SELECT url
FROM table
WHERE
'http://www.longurl.com/some/string' like '%' . url . '%'
表
url
longurl.com
我正在尝试将longurl.com的“table”中的记录与包含longurl.com的任何比较网址进行匹配。
应匹配比较的网址,例如:
http://www.longurl.com/some/string
http://longurl.com
http://longurl.com/some/string
在这个PHP示例中,很容易比较:
$url = "http://www.longurl.com/some/string";
if(strstr($url, 'longurl.com')) {
echo "success";
} else {
echo "failure";
}
答案 0 :(得分:6)
好的,那么:
SELECT url
FROM table
WHERE INSTR('http://www.longurl.com/some/string', url) > 0
(格式化在评论中没有那么好用,所以我再次添加它作为答案。)
答案 1 :(得分:0)
如果您需要的是获取包含longurl.com
的所有网址,请尝试使用:
SELECT url
FROM table
WHERE
url like '%longurl.com%'
它应该有用。
答案 2 :(得分:0)
您在寻找:
LIKE '%longurl.com%'
答案 3 :(得分:0)
尝试删除或转义URL字符串中的某些字符。或者省略http:part ..我相信:
可能会让解析器感到困惑......
so try %//longurl.com/%
甚至
%longurl.com% if possible
甚至
http://longurl.com/%
答案 4 :(得分:0)
此?
SELECT url
FROM table
WHERE
url like '%http://%longurl.com%'
或者您也可以使用%longurl.com%
答案 5 :(得分:0)
MySQL中不存在连接运算符.
,您必须改为使用CONCAT()函数:
SELECT url
FROM table
WHERE 'http://www.longurl.com/some/string' LIKE CONCAT('%', url, '%');
答案 6 :(得分:0)
这个怎么样:
SELECT url
FROM table
WHERE url LIKE '%longurl.com%string%'
或者,就像你的PHP:
SELECT url
FROM table
WHERE url LIKE '%longurl.com%'