mysql中通配符与正则表达式的区别_html正则表达式
mysql中通配符与正则表达式的区别_html正则表达式1.百分号(%)通配符最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数。匹配时,一般是不区分大小写的,但是根据MySQL的配置方式,搜索可以是区分大小写的。重要的是要注意到,除了一个或多个字符外mssql 通配符,%还能匹配0个字符。%代表搜索模式中给定位置的0个、1个或多个字符,例如:SELECTid,nameFROMtest_tableWHEREinfoLIKE'%ab%ed';注意尾空格尾空格可能会干扰通配符匹配。例如,在保存词anvil时,如果它后面有一. 大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说mysql中通配符与正则表达式的区别_html正则表达式,希望能够帮助大家进步!!! 1.百分号(%)通配符 最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数。匹配时,一般是不区分大小写的,但是根据MySQL的配置方式,搜索可以是区分大小写的。 重要的是要注意到,除了一个或多个字符外,%还能匹配0个字符。%代表搜索模式中给定位置的0个、1个或多个字符,例如:
只听到从架构师办公室传来架构君的声音: 碧烟轻袅袅,红战灯花笑。有谁来对上联或下联? 注意尾空格 尾空格可能会干扰通配符匹配。例如,在保存词anvil 时, 如果它后面有一个或多个空格, 则子句WHEREprod_name LIKE '%anvil'将不会匹配它们,因为在最后的l后有多余的字符。解决这个问题的一个简单的办法是在搜索模式最后附加一个%。一个更好的办法是使用函数(trim())去掉首尾空格。 注意NULL 虽然似乎%通配符可以匹配任何东西,但有一个例外,即NULL。即使是WHERE prod_name LIKE '%'也不能匹配用值NULL作为产品名的行。 2.下划线(_)通配符 下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符。 与%能匹配0个字符不一样,_总是匹配一个字符,不能多也不能少。 【注】MySQL的通配符很有用。但这种功能是有代价的:通配符搜索的处理一般要比其他搜索所花时间更长。这里给出一些使用通配符要记住的技巧。 3.使用MySQL正则表达式 正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤SELECT检索出的数据。 【注】:MySQL仅支持多数正则表达式实现的一个很小的子集。 【^的双重用途】 ^有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处。 【使REGEXP起类似LIKE的作用】 LIKE和REGEXP的不同在于,LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式,可以使REGEXP的作用与LIKE一样。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |