作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含很多城市和两个名称相似的城市的数据库。
荷斯坦州奥尔登堡和奥尔登堡(奥尔登堡)
我从 URL 获取城市
示例网址:
www.example.com/cityname/oldenburg-in-holstein
www.example.com/cityname/oldenburg-oldenburg
SELECT city FROM citynames WHERE city LIKE '%oldenburg%';
我发表此声明,我得到荷斯坦的奥尔登堡
SELECT * FROM citynames WHERE city LIKE '%oldenburg%' AND LIKE '%oldenburg%'';
我再次得到荷斯坦的奥尔登堡,但如果我发表此声明
SELECT city FROM citynames WHERE city LIKE '%oldenburg% %oldenburg%';
声明有效!我得到奥尔登堡(奥尔登堡)我的问题是我可以使用这个语句吗?
最佳答案
与
SELECT * FROM citynames WHERE city LIKE '%oldenburg%' AND LIKE '%oldenburg%'';
您询问同一件事两次:该城市是否包含字符串“oldenburg”。这不是你想要的。
与
SELECT city FROM citynames WHERE city LIKE '%oldenburg% %oldenburg%';
您正在寻找一个包含“奥尔登堡”的城市,然后在某个时刻出现空白,然后在某个时刻再次出现“奥尔登堡”一词。所以是的,这就是你想要的。您会找到“奥尔登堡(奥尔登堡)”,但找不到“荷斯坦的奥尔登堡”。
当您从 URL 获取城市名称时,城市名称的各个部分用 -
分隔,这将是:
SELECT city FROM citynames WHERE city LIKE CONCAT('%', REPLACE(url, '-', '%'), '%');
顺便说一句:显然您使用的排序规则不区分大小写。否则,您必须使用 LIKE '%Oldenburg% %Oldenburg%'
才能找到 'Oldenburg (Oldenburg)' 或 WHERE LOWER(city) LIKE ...
.
关于php - SELECT * FROM city WHERE city LIKE '%value% %value%' ;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40422885/
我是一名优秀的程序员,十分优秀!