我目前拥有“SkönhetKroppsvårdMassage Spa”类别的数据库项目(在一个字符串中)。MySQL选择确切的单词
目前我使用
WHERE Select6 LIKE '%spa%'
我想是选择如。 “水疗”,并获得包含“水疗”,而不是“水疗”的字段
我目前拥有“SkönhetKroppsvårdMassage Spa”类别的数据库项目(在一个字符串中)。MySQL选择确切的单词
目前我使用
WHERE Select6 LIKE '%spa%'
我想是选择如。 “水疗”,并获得包含“水疗”,而不是“水疗”的字段
查找到mySQL fulltext search。需要一些时间才能进入并有一些注意事项,但它可能是满足您的要求的唯一理智方式。
Boolean full-text searches应该为你工作,例如
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+Spa' IN BOOLEAN MODE);
请尝试以下条件,检查单词水疗中心的任何地方在文本和其他结束。
WHERE Select6 LIKE '% spa %' or Select6 LIKE '% spa' or Select6 LIKE 'spa' or Select6 LIKE 'spa %'
不要把'%'放在最后。这个符号相当于说“这里有任何字符串”。所以当你做%spa%时,它会匹配任何包含中间某处spa的字符串。
如果您所说的所有字符串都按照您的说法进行了格式设置,并且您的搜索字词始终位于最后,请执行“%spa”。这样它会找到你以“Spa”结尾的字符串。
因此,例如:WHERE Select6 LIKE '%温泉'
你可以尝试
WHERE Select6 LIKE '%spa%' AND NOT LIKE '%spas%'
这将需要xxxxspaxxxx但不xxxxspasxxxx
所以它会工作,如果温泉是不是最后一个字或第一个
或者
WHERE Select6 LIKE '%温泉%' OR Select6 LIKE '%温泉' OR Select6 LIKE '温泉%' OR Select6 LIKE '温泉' OR
温泉在端'% spa'
温泉在开始时'spa %'
仅在位置结束温泉'spa'
约像晶石,铁锹,跨度等词 – 2012-03-05 17:43:28
我这个问题理解是什么,他希望与水疗中心,但不是温泉任何 – Marc 2012-03-05 17:46:12
他提到,作为一个例子:) – 2012-03-05 17:47:40
移除%。因为双方%在词中搜索“Spa”并非位置结束。
其中Select6 LIKE“%温泉
我喜欢@rs.方式,因为如果你忘了修剪,你有太行,所以用这种方式
where Select6 LIKE '%Spa %' or Select6 LIKE '%Spa'
我想这是我必须去的方式..但是这对我来说很难:/ – Mackelito 2012-03-05 20:05:05
@Mackelito上面的例子不适合你吗?在'Select6'中添加一个全文索引并执行'。 ... MATCH(Select6)....'应该可以工作 – 2012-03-05 20:09:43
我目前正试图改变Joomla的扩展如何获取项目..并且选择查询是以某种automagic方式构建的..不能找出:( – Mackelito 2012-03-05 20:13:15