技术标签: oracle regexp查出大写
Oracle中的Like操作符使用'_'和'%'作为通配符,使用就像这样:
SELECT name FROM test_like WHERE name like'_a%';
即匹配test_like表name列中第2个字母是a的所有行。但是注意,Oracle匹配时区分大小写的。也就是说上面的查询时无法查询到name='SAas'这行的。
Oracle10g中提供的正则表达式功能可以很好的解决这个问题,当然这不是使用正则表达式函数的唯一优点,实际上它比Like操作符强大的多。
正则表达式的语法就不用多说了,现在大多数语言都支持正则表达式了。
下面主要介绍下Oracle中正表达式函数REGEXP_LIKE的使用:
REGEXP_LIKE(x, pattern [, match_option])
当源字符串x匹配正则表达式pattern时,返回true。可以使用match_option修改默认匹配选项,该参数可以被设置为:
-'c', 说明在进行匹配时区分大小写(默认选项)
-'i', 说明在进行匹配时不区分大小写
-'n'允许使用可以匹配任意字符的操作符(通常是'.')
-'m', 将x作为一个包含多行的字符串
举个例子:
SELECT*FROMtest_regWHEREREGEXP_LIKE(name,'(a)\1','i');
上面的SQL语句匹配test_reg表中name列含有两个连续字符'a'(不区分大小写)的行,如name='SaAs'。此外,这里我们还使用了正则表达式中的后引用语法——\n表示重复n次上次匹配的内容,此处(a)\1表示匹配两个连续的字符'a'。
需要注意的是,后引用必须使用双括号,否则会出现如下结果:
SELECT*FROMtest_regWHEREREGEXP_LIKE(name,'a\1','i')
ORA-12727: 正则表达式中的后向引用无效
最后一点,不要混淆LIKE操作符的通配符和正则表达式的语法,也就是说不要再正则表达式中使用LIKE操作符中的通配符,如果这样做会得到未知的结果,因为'_'和'%'会被正则表达式当做普通字符进行匹配。
比如下面这条SQL想要得到name='SaAs'这条记录,但实际的查询结果为空。
SQL>SELECT*FROMtest_regWHEREREGEXP_LIKE(name,'^_(a)\1','i');
NAME
----------
实际应该使用:
SQL>SELECT*FROMtest_regWHEREREGEXP_LIKE(name,'^.(a)\1','i');
NAME
----------
SaAs
文章浏览阅读4.8k次,点赞2次,收藏9次。基于spring框架 实现的奇门云网关 WMS端 通用API方法:package org.tempuri;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.StringReader;import java.io.Strin..._奇门wms struct
文章浏览阅读471次。原生应用开发框架React-Nativefacebook 推出的使用react,js开发的原生框架react官网Weex阿里巴巴开源的使用vue开发的原生框架weex官网Flutterdart语言,类似es6,如果对面向对象有深入理解的话,很快上手,google公司推出的Flutter官网React-Native基于react优雅的架构设计支持热重..._pc原生应用开发技术
文章浏览阅读9.7k次,点赞2次,收藏8次。在上一篇文章里面的官方demo建立索引方式使用的是最基本的索引,这里在介绍两种基础索引更多索引类别1--更快的检索IndexIVFFlat官方介绍:为了加快搜索速度,可以将数据集分割成几部分。我们在d维空间中定义Voronoi单元格,并且每个数据库矢量都落入其中一个单元格中。在搜索时,只有查询x所在单元中包含的数据库向量y与少数几个相邻查询向量进行比较。(划分搜索空间)这是通过Inde..._indexivfflat
文章浏览阅读1.7w次,点赞5次,收藏14次。IAR注释中文显示乱码,在Tools>>Options>>Editor>>Default character 选择正确的编码比如UTF-8,然后关闭文件,再次打开。_iar中文乱码
文章浏览阅读1.6k次。本文主要讲述过去一年内可观测平台 SLS 的改进和迭代。_数据中台 告警系统
文章浏览阅读854次。昨天在win7上装SQLServer数据库,写一下体会。首先,如果以前安装的话,要删除干净。我也找了半天的网络资料。1.把原来SQLServer的安装目录 C:\Program Files\Microsoft SQL Server 删除2.所有SQLServer相关的注册表全部删除,保证系统是没有装过SQLServer的状态注册表打开方式:开始-->运行-->rege_ghost封装sql 2000
文章浏览阅读363次,点赞7次,收藏8次。【代码】Linux中禁用ctrl alt del快捷键重启。_linx 关闭 ctrl alt del
文章浏览阅读4.7k次,点赞2次,收藏7次。需求:项目中有高度、宽度自适应需求,需要适应不同分辨率的高度及宽度,在不同分辨率下效果区别不会很大html代码如下:<template> <div id="home"> <div class="head" > <v-head></v-head> </div&..._vue3 dom元素获取距离浏览器工具栏的高度
文章浏览阅读6.8k次,点赞2次,收藏6次。以前在Spring框架中使用Spring Security需要我们进行大量的XML配置,但是,Spring Boot在这里依然有惊喜带给我们,我们今天就一起来看看。 毫无疑问,Spring Boot针对Spring Security也提供了自动配置的功能,这些默认的自动配置极大的简化了我们的开发工作,我们今天就来看看这个吧。创建Project并添加相关依赖 配置applicat..._spring-security配置允许访问ip
文章浏览阅读737次,点赞9次,收藏8次。检测到hyper-v 时,勾选自动安装。_vm17pro密钥许可证
文章浏览阅读1.5k次。修改/etc/my.cnfcharacter-set-server=utf8[client]default-character-set=utf8注释掉 sql_mode重新新建mysql表在hive的元数据库中执行以下SQL语句,然后重新创建刚才的表即可 。alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PAR_sqoop --default-character-set=utf8
文章浏览阅读845次。一、简介 在用python写脚本时,通常需要处理xml格式的文件或字符串。由于json格式处理的方便性, 我们可将其转为json格式进行处理。 二、步骤 1、安装工具包xmltodict 在命令行输入:pip install xmltodict 2、在代码使用xmltodict.parse(xml_str)进行处理 如 def load_json(xml_path): #获取xml文件 xml_f..._python xml 转json 格式