繁体   English   中英

如何仅使用类似mysql查询的类似单词

[英]how to get only similar word with like mysql query

我进行了自动完成搜索,并希望从描述中获得单词建议。 例如,我有一个职位描述:“这是示例说明”。

我用这个查询

$sql ="SELECT post_content FROM {$wpdb->posts} WHERE LOWER(post_content) LIKE LOWER('%".$s."%') AND post_status='publish'";

但我得到所有匹配的描述。 我怎样才能只找到一个与查询匹配的单词? 例如,如果我写“ sam ...”,我只想得到“ sample”一词,或者如果我写“ sample des ...”,那么我想得到“ sample description”而不是该词所在位置的完整描述。

如果适合您,可以尝试以下方法:

样品

SELECT 
    SUBSTRING_INDEX(
        SUBSTRING('this is sample description and more' FROM LOCATE('sample des','this is sample description and more'))
        ,' '
        ,LENGTH('sample des') - LENGTH(replace('sample des', ' ', '')) +1
    ) as result;

结果

result
sample description

尝试为您的SQL查询:

$sql ="
SELECT 
    SUBSTRING_INDEX(
        SUBSTRING(post_content FROM LOCATE('".$s."',post_content))
        ,' '
        ,LENGTH('".$s."') - LENGTH(replace('".$s."', ' ', '')) +1
    )
 FROM {$wpdb->posts} 
 WHERE LOWER(post_content) LIKE LOWER('%".$s."%') AND post_status='publish'";

请让我知道它是否适合您(不适用于睾丸)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM