oracle 检查是否有符号,Oracle正则表达式如何查询一个字符串里面包含了任意标点符号的所有记录。 ORACLE有没有判断一...

用 regexp_like这个函数来解决,正则表达式为:[[:punct:]]+这个正则可以找出任何标点符号。

查询value中包含任何标点符号的记录如下:

select * from xxx where regexp_like(value,'[[:punct:]]+');

POSIX 正则表达式由标准的元字符(metacharacters)所构成: '$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '

' 或 ''。 '?' 匹配前面的子表达式零次或一次。 '*' 匹配前面的子表达式零次或多次。

'|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的 '( )' 标记一个子表达式的开始和结束位置。 '{m,n}' 一个精确地出现次数范围,m=

um 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。 [[:alpha:]] 任何字母。

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

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

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

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

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

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

[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。 \转义符 *, +, ?, {n}, {n,}, {n,m} 限定符^, $, anymetacharacter 位置和顺序。

查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。

举例如下:

1、创建测试表,

create table test_instr(str varchar2(20));

2、插入测试数据

insert into test_instr values ('abc');

insert into test_instr values ('cdaf');

insert into test_instr values ('bbed');

3、查询表的记录,select t.*, rowid from test_instr t;

4、编写sql,查找字母'a'在表中各记录的位置;

select t.*, instr(str,'a') location from test_instr t,可以发现,最后一条记录,不存在该字符的话,则返回0。

函数:

INSTR(,[,I][,J])

说明:在C1中从I开始搜索C2第J次出现的位置。I:默认1; J:默认1

这个不可能使用简单一个查询语句来实现这个功能。因为你的这个需要基本都是比一定逻辑的查询,实现起来有相当的难度。因为首先要确定有多少张表,每张表中有多少个字段,然后才能实现某个字段中的某条记录包含你所需要的这个特定的值。

这仅仅是一个简单的思路,供参考。

给个思路:

a个数 = 原字符串长度 - 删除a后字符串的长度

a个数 = LENGTH(string) - LENGTH(REPLACE(string,'A',''))

Oracle正则表达式 -

: Oracle使用正则表达式离不开这4个函数:1、regexp_like2、regexp_substr3、regexp_instr4、regexp_replaceregexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法如下:regexp_substr 函数,和 substr ...

oracle正则表达式如何表示AABB(比如1122、3344),ABCDE(数字升序出现,比如12345、56789)?

: 表示例如AABB型的是可以的(\d)\1(\d)\2ABCDE数字升序是不可以的

Oracle正则表达式

: Oracle正则表达式的应用 在oracle里正则表达式有四个函数可用,分别是regexp_like、regexp_substr、regexp_instr 和regexp_replace.这里在我们oracle 10g里灵活应用.先来简单介绍一下正则表达式的内容,正则表达式是做为快速查询的文...

oracle 的正则表达式

: oracle的正则表达式(10g才可以用)oracle的正则表达式(regular expression)简单介绍目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境.Oracle 10g正则表达式提高了...

oracle函数中正则表达式 是什么意思 -

: ORACLE 中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与 LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR 的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数 LIKE、INSTR、SUBSTR 和REPLACE 用法相 同.

oracle的正则表达式

: \w+ 代表只少含一个英文字符

oracle SQL 正则表达式

: 正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境.本文主要知介绍了关于Oracle中正则表达式的使用方法,下面话不多说了,来一起看看详细的介绍.Oracle使用正则表达式离不...

用oracle正则表达式 -

: 递增的用正则表达式处理很麻烦. 我就只列几个简单的吧.CREATE TABLE test_phone ( phone_number varchar(20));INSERT INTO test_phoneSELECT '13812345678' FROM dual UNION ALLSELECT '13812345566' FROM dual UNION ...

oracle 正则表达式字符

: 你的正则相当于^[019,-]+$,是指由这5个字符中的字符组成的字符串.^((00|99|-1),){0,2}(00|99|-1)$

求一条oracle的正则表达式 -

: 你是在linux下正则,还是在oracle下的正则?...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值