在Mysql中找到包含列值的文本?

时间:2017-11-07 02:41:25

标签: mysql full-text-search



id   text_1          text_2
1    おはよう         おはよ
2    こんにちは       ちわー
3    大丈夫           さよなら
4    でんわしたい     でんわしよう




我上面有DB。

我想用输入搜索:おはよう大丈夫?

预计结果将匹配:id = 1且id = 3。

请帮我看看如何在Mysql中查询搜索?谢谢你。

2 个答案:

答案 0 :(得分:0)

以下SQL查询将获取2个ID以进行精确字符串匹配

select id from TABLENAME where text_1 in ('おはよう','大丈夫');

您还可以使用like运算符和%来获取近似字符串ID。

您可能会遇到编码问题(文字化け),具体取决于您的数据库设置,因此您可能需要转换SJIS< - > UTF-8

https://dev.mysql.com/doc/refman/5.7/en/faqs-cjk.html#faq-cjk-what-cjk-avail

最后但并非最不重要的是,如果您想使用完整字符串作为比较条件来选择行,那么您可以重复使用以下代码:

how to compute similarity between two strings in MYSQL

答案 1 :(得分:0)

从TABLENAME中选择id,其中text_1 REGEXP“おはよう大丈夫”