MYSQL的模式匹配

四 24th, 2009

mysql中除了常用的”_”、”%”外,mysql还提供扩展的正则表达式,使用REGEXP关键字。

常用的一些字符是:

·         .’匹配任何单个的字符。

·         字符类[...]匹配在方括号内的任何字符。例如,[abc]匹配abc。为了命名字符的范围,使用一个“-”。[a-z]匹配任何字母,而[0-9]匹配任何数字。

·         * 匹配零个或多个在它前面的字符。例如,x*匹配任何数量的x字符,[0-9]*匹配任何数量的数字,而.*匹配任何数量的任何字符。

  • 如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)
  • 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用^在模式的结尾用$

例:

取出表中所有table表中stock字段为合法的股票代码(AB股)

SELECT DISTINCT stock FROM `table` WHERE stock REGEXP ‘^[0-9]{6}$’

标签: ,
目前还没有任何评论.
;) :| :x :twisted: :roll: :oops: :o :mrgreen: :lol: :idea: :evil: :cry: :arrow: :P :D :?: :? :) :( :!: 8O 8)

Spam Protection by WP-SpamFree