mysql - 如何检测数据库中的单词是否包含在发送的字符串中

标签 mysql string-comparison

我有这样的场景:

我有一个 mysql 数据库,其中有一个包含字符串的表。 我通过 post/get/whatever 请求向脚本发送一个字符串,该脚本必须检查表中的字符串是否包含在发送的字符串中。

例如,我在表中有单词“test”,我发送单词“atesta”。我想返回 true。

相反(检查该单词是否包含在数据库中)很简单(选择 bla bla 其中列如“%string%”)。

我希望我描述问题的方式足够清楚。

最佳答案

颠倒论点。然后使用串联运算符||添加%,前后:

WHERE 'string' LIKE ('%' || column || '%')

或串联函数:

WHERE 'string' LIKE CONCAT('%', column, '%')
<小时/>

我应该提到,默认设置让 || 运算符充当逻辑 OR 运算符的同义词。要充当标准串联运算符,服务器必须在 ANSI mode 中运行。 (了解 PIPES_AS_CONCAT 详细信息)。

关于mysql - 如何检测数据库中的单词是否包含在发送的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394490/

相关文章:

php - 正则表达式匹配必须包含字符串中的所有字符

javascript - 强制 localeCompare 区分大小写

c# - 连字符后的字符影响 string.compare

c# - 如何检查 StringComparison 是否区分大小写?

php - 存储大字符串而不影响性能

java - 字符串比较返回错误结果

python - 在连接到 mySql 服务器之前在后台运行 ssh 端口转发

mysql - 获取子类别的家谱

mysql - 导入现有的 Drupal 项目

mysql - 根据MySql中的条件值合并保留部分数据的重复记录