我正在使用mysql工作台,目前正在寻找一个函数或其他东西来帮助我检查一个字符串是否在另一个字符串中。例如: text1 = 'hello , name , world';
如果我有一根绳子 varchar
是这样的 'My name is'
它应该说它包含,因为它有'名字'。基本上我要做的是我有一个comments表,在插入注解之前创建一个触发器,检查 comment_text
包含任何脏话。这些骂人的话是这样保存的
从保留的\u字中选择组\u concat(word)为texto;
所以所有的单词都很接近:swear1,swear2,swear3,等等
我希望它更新一个特定的表,如果评论真的包含一个脏话。我试着用 LIKE, SUBSTR(),CONTAINS(),REGEXP
没有任何成功。
有人能帮忙吗?
3条答案
按热度按时间lx0bsm1f1#
我建议:
您可能希望也可能不希望在正则表达式模式中包含单词分隔符。
raogr8fs2#
LIKE
是你想要的。你得把它包起来%
匹配字符串中的任何位置。如果
string
列包含字符串name
.如果在表的列中有脏话,则可以将它们连接起来:
不要把脏话放在逗号分隔的列表中,这使得在mysql中单独使用它们非常困难。
kcugc4gi3#
构建正则表达式模式
reserved_words
表格:然后跑
REGEXP
对照comment
现场。演示运行
结果