正则表达式进行查询
? ? ? ? ? 正则表达式通常被用来检索或者替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊的字符串。eg:从一个文本文件中提取电话号码,查找一篇文章中重复的单词等。 ? ? ? ? 在mysql中使用REGEXP关键字指定正则表达式的字符匹配模式,REGEXP操作符后常用的匹配字符如下表所示。
例1? 查学生表中s_name字段以字母“王”开头的记录。 查询语句: SELECT * FROM student WHERE s_name REGEXP ‘^王‘;
查询结果: 例2 ?查学生表中s_name字段以字母“云”结尾的记录。 查询语句: SELECT * FROM student WHERE s_name REGEXP ‘云$‘ 查询结果: 例3? 查询vendors表中vend_id字段值包含字母“B”和“0”并且字母间存在2个其他字母的记录。? 查询语句: SELECT vend_id FROM vendors WHERE vend_id REGEXP ‘B..0‘ 查询结果: 例4 例4 ? ?查询vendors表中vend_id字段值以字母“BR”开头的记录。 查询语句: SELECT vend_id FROM vendors WHERE vend_id REGEXP ‘^BR*‘ 查询结果: 例5 ??查询vendors表中vend_name字段值包含字符串"ll"的记录。 查询语句: SELECT vend_name FROM vendors WHERE vend_name REGEXP ‘ll‘ 查询结果: ? 例6 ?查询vendors表中vend_name字段值包含字符串"ll"或者“ea”的记录。 查询语句: SELECT vend_name FROM vendors WHERE vend_name REGEXP ‘ll|ea‘ 查询结果: 例6 ?查询vendors表中vend_name字段值包含字母"l"或者“e”的记录。 ?查询语句: SELECT vend_name FROM vendors WHERE vend_name REGEXP ‘[le]‘ 查询结果: 例7? 查询vendors表中vend_id字段数值包含1或者2的记录。 ?查询语句: SELECT * FROM vendors WHERE vend_id REGEXP ‘[1-2] 查询结果: ? 例8? 查询customer表中c_id字段数值包含1到5以外字符的记录。 查询语句: SELECT * FROM customer WHERE c_id REGEXP ‘[^1-5]‘ 查询结果: ? 例9? 查询vendors表中vend_name字段值中出现字母"l"至少2次的记录。 ?查询语句: SELECT * FROM vendors WHERE vend_id REGEXP ‘l{2,}‘ 查询结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |