我们有一个表“students”,这个表有文本列“description”。此列包含学生简介。现在,假设我们有两个词a)lorem b)ipsum。我们想让所有的学生,这些词将遵循以下标准:答。描述必须包含单词:loremb。就在“lorem”这个词之后,在接下来的20个字符中,如果还有其他词“ipsum”存在,那么mysql就把那个学生还给我。我对mysql的了解一般,但不能按照上述条件进行查询。有没有人可以共享一个mysql查询,我可以通过它来获取基于上述条件的记录。提前谢谢。
uplii1fm1#
可以使用正则表达式:
where description regexp 'lorem.{0,19}ipsum'
现在还不清楚你是否想要所有的 'ipsum' 在接下来的20个字符或刚刚开始。这假设您希望它在接下来的20年内开始。您可以调整 19 如果你想要更多的 ipsum 在20个字符里。如果要精确匹配单词,请使用单词分隔符:
'ipsum'
19
ipsum
where description regexp 'lorem.{0,19}[^a-zA-Z]ipsum[^a-zA-Z]'
对于单词分隔符,您可能有更好的表达式。mysql最近更换了正则表达式库,所以我不太愿意使用像 \b .
\b
1条答案
按热度按时间uplii1fm1#
可以使用正则表达式:
现在还不清楚你是否想要所有的
'ipsum'
在接下来的20个字符或刚刚开始。这假设您希望它在接下来的20年内开始。您可以调整19
如果你想要更多的ipsum
在20个字符里。如果要精确匹配单词,请使用单词分隔符:
对于单词分隔符,您可能有更好的表达式。mysql最近更换了正则表达式库,所以我不太愿意使用像
\b
.