孟起 发表于 2023-9-14 11:59:55

SQL LIKE'%value%'的反函数

我有一个包含域名的MySQL表:
+----+---------------+
| id | domain      |
+----+---------------+
|1 | amazon.com    |
|2 | google.com    |
|3 | microsoft.com |
|    |   ...       |
+----+---------------+
我希望能够在此表中搜索完整的主机名(即“ www.google.com”)。如果是表格包含完整URL的相反方法,我将使用:
SELECT * FROM table WHERE domain LIKE '%google.com%'
但是,倒数并不是那么简单。我目前的想法是搜索完整的主机名,然后逐步剥离域的每个部分,然后再次搜索。(即先搜索“ www.google.com”,然后搜索“
google.com”)
这不是特别有效或巧妙的方法,必须有更好的方法。我敢肯定这是一个普遍的问题,而且无疑很容易解决!
               
解决方案:
               


                您也可以使用右侧的列:
SELECT domain FROM table WHERE 'www.google.com' LIKE CONCAT('%', domain);
或者
SELECT domain FROM table WHERE 'www.google.com' LIKE CONCAT('%', domain, '%');
它不是特别有效,但是可以工作。
页: [1]
查看完整版本: SQL LIKE'%value%'的反函数