最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

SQLstatementtosearchforWordBoundary_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 20:02:22
文档

SQLstatementtosearchforWordBoundary_MySQL

SQLstatementtosearchforWordBoundary_MySQL: Send this article by email What is your name Please indicate below the emails to which you want to send this article: SQL statement to search for Word Boundary Enter one email per line. No more than 5 emails. In SQL, sometimes, you
推荐度:
导读SQLstatementtosearchforWordBoundary_MySQL: Send this article by email What is your name Please indicate below the emails to which you want to send this article: SQL statement to search for Word Boundary Enter one email per line. No more than 5 emails. In SQL, sometimes, you
Facebook Twitter Google+ Pretty Print

Send this article by email

What is your name?

Please indicate below the emails to which you want to send this article: SQL statement to search for Word Boundary

Enter one email per line. No more than 5 emails.

In SQL, sometimes, you want to search a string field that contains a key, but as a whole word. So for example, if you search for ‘ word ‘, you do not want ‘ wordword ‘ to be included in the result. Suppose, we have the following data in the MySQL table test.

mysql> select * from test;+-------------------+| name|+-------------------+| word|| word ok || ok word || wordword|| wordword wordword || (word)(word)|| ,word,|+-------------------+7 rows in set (0.00 sec)
mysql> select * from test;+-------------------+| name|+-------------------+| word|| word ok || ok word || wordword|| wordword wordword || (word)(word)|| ,word,|+-------------------+7 rows in set (0.00 sec)

So, if we use percentage symbol % to match one or a few characters, we can use like “%word%” to match, but this gives unnecessary matches.

mysql> select * from test where name like "%word%";+-------------------+| name|+-------------------+| word|| word ok || ok word || wordword| ---------------> incorrect match| wordword wordword | ---------------> incorrect match| (word)(word)|| ,word,|+-------------------+7 rows in set (0.00 sec)
mysql> select * from test where name like "%word%";+-------------------+| name|+-------------------+| word|| word ok || ok word || wordword| ---------------> incorrect match| wordword wordword | ---------------> incorrect match| (word)(word)|| ,word,|+-------------------+7 rows in set (0.00 sec)

The correct method is to use the REGEXP and the [[:<:]] and [[:>:]] word-boundary markers:

mysql> select * from test where name regexp '[[:<:]]word[[:>:]]';+--------------+| name |+--------------+| word || word ok|| ok word|| (word)(word) || ,word, |+--------------+5 rows in set (0.01 sec)
mysql> select * from test where name regexp '[[:<:]]word[[:>:]]';+--------------+| name |+--------------+| word || word ok|| ok word|| (word)(word) || ,word, |+--------------+5 rows in set (0.01 sec)

–EOF–

GD Star Rating

loading...

GD Star Rating

loading...

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

SQLstatementtosearchforWordBoundary_MySQL

SQLstatementtosearchforWordBoundary_MySQL: Send this article by email What is your name Please indicate below the emails to which you want to send this article: SQL statement to search for Word Boundary Enter one email per line. No more than 5 emails. In SQL, sometimes, you
推荐度:
标签: word sql to
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top