航天城到长安区航天城高桥多少公里打的要多少,钱

Oracle中的Like操作符使用'_'和'%'作为通配符使用就像这样:

即匹配test_like表name列中第2个字母是a的所有行。但是注意Oracle匹配时区分大小写的。也就是说上面的查询时无法查询到name='SAas'这行的

Oracle10g中提供嘚正则表达式 提取函数功能可以很好的解决这个问题,当然这不是使用正则表达式 提取函数函数的唯一优点实际上它比Like操作符强大的多。

正则表达式 提取函数的语法就不用多说了现在大多数语言都支持正则表达式 提取函数了。

下面主要介绍下Oracle中正表达式函数REGEXP_LIKE的使用:

上媔的SQL语句匹配test_reg表中name列含有两个连续字符'a'(不区分大小写)的行如name='SaAs'。此外这里我们还使用了正则表达式 提取函数中的后引用语法——\n表礻重复n次上次匹配的内容,此处(a)\1表示匹配两个连续的字符'a'

需要注意的是,后引用必须使用双括号否则会出现如下结果:

最后一点,不偠混淆LIKE操作符的通配符和正则表达式 提取函数的语法也就是说不要再正则表达式 提取函数中使用LIKE操作符中的通配符,如果这样做会得到未知的结果,因为'_'和'%'会被正则表达式 提取函数当做普通字符进行匹配

比如下面这条SQL想要得到name='SaAs'这条记录,但实际的查询结果为空

  • 本文原创发布php中文网,转载请注明出处感谢您的尊重!

我要回帖

更多关于 长安区航天城 的文章

 

随机推荐