简体   繁体   English

SQL:如何快速确定字符串(句子)是否包含我的SQL数据库中的单词?

[英]SQL: How can I determine quickly whether a string (sentence) includes words from my sql database?

I have a question/problem. 我有一个问题/疑问。 How can I determine quickly whether a string (sentence) includes words from my sql database? 如何快速确定字符串(句子)是否包含我的sql数据库中的单词? In PHP I use following code: 在PHP中我使用以下代码:

if(strpos($string,"abc")!==false) { 
    //abc is in $string 
} else {
    //abc isn't in $string 
}

Example: 例:

Sql-Database: words -> my garden, sun, water Sql-Database:单词 - >我的花园,阳光,水

String: My garden is green. 字符串:我的花园是绿色的。

Has someone suggestions? 有人建议吗? Thank you. 谢谢。

so let's assume that you fetched the data from the database using a while loop 所以我们假设您使用while循环从数据库中获取数据

 $senetence = "The man's garden was green";
 $wanted_words = 'garden'; 
 if($wanted_word = stripos($senetence, $wanted_words))
 {
    echo "<pre>";
    print_r($wanted_words .": is at position ". $wanted_word ." from ". $senetence);
    echo "</pre>";
    return false;
 }
 else
 {
    return true;
 }

You can use a query like this: 您可以使用如下查询:

SELECT
  *
FROM
  some_table
WHERE
  'My garden is green' LIKE BINARY CONCAT('%', some_column, '%')

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

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