下面是条件

like与regexp_like条件

下面是函数

regexp_instr

regexp_replace

regexp_substr

select * from tis_ft_user_info

where  regexp_like (credential_number,‘^5‘);

ORACLE中的支持正则表达式的函数主要有下面四个:

1,REGEXP_LIKE :与LIKE的功能相似

2,REGEXP_INSTR :与INSTR的功能相似

3,REGEXP_SUBSTR :与SUBSTR的功能相似

4,REGEXP_REPLACE :与REPLACE的功能相似

它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,

但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。

POSIX 正则表达式由标准的元字符(metacharacters)所构成:

‘^‘ 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。

‘$‘ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹

配 ‘\n‘ 或 ‘\r‘。

‘.‘ 匹配除换行符之外的任何单字符。

‘?‘ 匹配前面的子表达式零次或一次。

‘+‘ 匹配前面的子表达式一次或多次。

‘*‘ 匹配前面的子表达式零次或多次。

‘|‘ 指明两项之间的一个选择。例子‘^([a-z]+|[0-9]+)$‘表示所有小写字母或数字组合成的

字符串。

‘( )‘ 标记一个子表达式的开始和结束位置。

‘[]‘ 标记一个中括号表达式。

‘{m,n}‘ 一个精确地出现次数范围,m=

出现m次。

\num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。

字符簇:

[[:alpha:]] 任何字母。

[[:digit:]] 任何数字。

[[:alnum:]] 任何字母和数字。

[[:space:]] 任何白字符。

[[:upper:]] 任何大写字母。

[[:lower:]] 任何小写字母。

[[:punct:]] 任何标点符号。

[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。

各种操作符的运算优先级

\转义符

(), (?:), (?=), [] 圆括号和方括号

*, +, ?, {n}, {n,}, {n,m} 限定符

^, $, anymetacharacter 位置和顺序

|

*/

--regexp_like

--查询value中以1开头60结束的记录并且长度是7位

select * from fzq where value like ‘1____60‘;

select * from fzq where regexp_like(value,‘1....60‘);

--查询value中以1开头60结束的记录并且长度是7位并且全部是数字的记录。

--使用like就不是很好实现了。

select * from fzq where regexp_like(value,‘1[0-9]{4}60‘);

-- 也可以这样实现,使用字符集。

select * from fzq where regexp_like(value,‘1[[:digit:]]{4}60‘);

-- 查询value中不是纯数字的记录

select * from fzq where not regexp_like(value,‘^[[:digit:]]+$‘);

-- 查询value中不包含任何数字的记录。

select * from fzq where regexp_like(value,‘^[^[:digit:]]+$‘);

--查询以12或者1b开头的记录.不区分大小写。

select * from fzq where regexp_like(value,‘^1[2b]‘,‘i‘);

--查询以12或者1b开头的记录.区分大小写。

select * from fzq where regexp_like(value,‘^1[2B]‘);

-- 查询数据中包含空白的记录。

select * from fzq where regexp_like(value,‘[[:space:]]‘);

--查询所有包含小写字母或者数字的记录。

select * from fzq where regexp_like(value,‘^([a-z]+|[0-9]+)$‘);

--查询任何包含标点符号的记录。

select * from fzq where regexp_like(value,‘[[:punct:]]‘);

例子:判断姓名是否为空,少于两个字符,包含数字和字母

create or replace

FUNCTION CheckName(NameStr in VARCHAR2) RETURN integer

As

BEGIN

--符合返回1,不符合返回0

if(NameStr is null or length(NameStr)<2) then

return 0;

else

if(NameStr like ‘%未取名%‘) then

RETURN 0;

end if;

if regexp_like(NameStr,‘^([a-z]+|[0-9]+|[A-Z]+)$‘) then

return 0;

end if;

return 1;

end if;

END CheckName;

oracle -sql模式匹配

标签:rom   any   操作   整数   换行   相同   实现   check   组合

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/createyuan/p/6872034.html

oracle sql 匹配 一位,oracle -sql模式匹配相关推荐

  1. oracle模糊匹配date类型日期,SQL时间类型模糊查询

    SQL时间类型模糊查询 数据库类型为DateTime类型,将其做模糊查询时,在Hibernate中,可以用拼SQL的问题将其解决,即在SQL查询分析器写SQL一样,但是利用参数配置,则方法如下: 1. ...

  2. pl/sql链接64位oracle数据库报错Could not initialize oci.dll

    原来是32位的oracle,所以没有报错. 后来是64位oracle,但是是直接链接oracle客户端,所以也没有报错. 现在是64位oracle服务器上直接安装plsql,报错. 报错原因:plsq ...

  3. oracle 10.2 64位,Oracle 10.2.0.5 x64升级到11.2.0.3 x64

    说明:11g数据库现在新部署的数量也很多的,对于10g数据库,现在整理一下10g到11g的升级过程.10.2.0.2以上版本才能升级到11.2.0.3版本. 升级说明:10.2.0.5(64)-> ...

  4. oracle sql 匹配 一位,关于在SQL中查找匹配间隔:在SQL中查找匹配间隔-Oracle

    我有一张桌子: 表: START         END 1 Jan 09    31 Jan 2009 1 Feb 09    28 Feb 2009 1 Mar 09    31 Mar 2009 ...

  5. oracle12官方下载,Oracle 12c下载64位|Oracle Database 12c下载 官方版_最火软件站

    Oracle 12C 是由Oracle官方提供的最新版本数据库,Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environ ...

  6. oracle变量最大多少位,oracle – 是否有可能获得变量的最大可能长度

    我想知道在plsql中是否存在给出变量最大长度的函数. 例如,如果我声明 DECLARE varia VARCHAR2(7) BEGIN call of a function that would r ...

  7. Powerdesigner逆向工程64位Oracle数据库

    Powerdesigner老版本不支持64位Client,新版本弄不到破解码 解决方法,用Powerdesigner+32位Oracle Clent访问64位Oracle Server 遇到的坑分享下 ...

  8. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。...

    从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了.  这样一来,只要客户端下载Instant C ...

  9. 用64位的plsql developer 连接虚拟机中的64位oracle数据库

    背景:为了学习oracle,我在虚拟机上安装了oracle.并在实体机上安装了oracle客户端及plsql developer. 开始之前,先回答两个问题 为什么不在本机安装oracle? 因为or ...

最新文章

  1. React 项目----setState 方法修改 state (16)
  2. foolscap实现rpc(四)
  3. ASP.NET Atlas学习团队建议收集
  4. 8253译码电路设计以及初始化编程讲解
  5. 创业者怎样掌握简便的创业机会
  6. undefined reference to `jpeg_std_error(jpeg_error_mgr*)
  7. 实践线性模型对于大规模一类别协同过滤
  8. 雅虎借道阿里巴巴意在控股淘宝
  9. 昨天,面试了一个安全工程师,她的回答让我耳目一新
  10. 与微信同行近 8 年,49 岁的张小龙去哪儿了?
  11. java poi读取excel日期格式数据
  12. synchronized 关键字的底层原理
  13. java poi 读合并单元格的内容,poi合并单元格,poi合并单元格并设置内容居中
  14. Linux排查CPU使用率100%
  15. GGS-DDU(最小树形图)
  16. lotus notes 闪退_win10系统Lotus notes邮箱闪退的恢复办法
  17. 编写php自动脚本,自己编写自动签到脚本
  18. 手机2020 QQ 群文件下载存储路径
  19. No7.基本数据类型的包装类
  20. BeautifulSoup中的.text 和get_text()的区别,.text与.string的区别

热门文章

  1. java网页快照_java网页快照-网页转存为图片
  2. c++11仔细地将参数传递给线程std::thread
  3. mysql数据库局限性_Mysql分区表局限性总结
  4. No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv7 armv6)
  5. [BZOJ] 2064: 分裂
  6. [20180808]exists and not exists.txt
  7. RabbitMQ学习(七)_RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
  8. 南洋股份拟57亿元收购天融信 老牌安全厂商曲线登录资本市场
  9. 精通Android开发 1
  10. java多线程总结二:后台线程(守护线程)