用 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下的正则?...