今天看论坛上的一个帖子,我简化描述一下,如下:with temp as(
select 'D.140 Supplement 1' A from dual
union all
select 'E.191(2000) Amendment 1' A from dual
)
SELECT regexp_instr(A,'[^.[:alnum:]]') FROM temp请高手帮忙解释下[^.[:alnum:]]的含义?如果在这里我不用字符簇表示,该怎么改写了?最好能帮忙解释下字符簇的含义和使用方法,谢谢!
select 'D.140 Supplement 1' A from dual
union all
select 'E.191(2000) Amendment 1' A from dual
)
SELECT regexp_instr(A,'[^.[:alnum:]]') FROM temp请高手帮忙解释下[^.[:alnum:]]的含义?如果在这里我不用字符簇表示,该怎么改写了?最好能帮忙解释下字符簇的含义和使用方法,谢谢!
解决方案 »
- 多表拼接问题
- oracle 扩展优化器问题
- 求救:如何定时每天晚上21点定时更新2个结构完全相同的ORACLE数据库中的4个表
- 为什么我在oracle9i中新建一个用户,而方案没有相应增加?方案与用户之间是什么关系?
- 自己创建了一个新表,如何使自己的用户获得查询和修改这个表的权限,而且自己的用户还可以将该权限转授给其他的用户
- oracle数据ddl问题请教??
- Oracle里面怎么不能使用limit?
- 发生了一个Oracle错误,但列法从Oracle中检索错误信息。
- 菜鸟问题servlet-jdbc-oracle8.1
- 请问那里有oracle form 的语法资料
- 大家帮看下,这样的条件,能找到dba的职位吗?
- 【100分】如何提高select count(字段) from 表 where 的速度
改写
WITH temp AS
(SELECT 'D.140 Supplement 1' A
FROM dual
UNION ALL
SELECT 'E.191(2000) Amendment 1' A FROM dual)
SELECT regexp_instr(A, '[^.[0-9,a-z,A-Z]') FROM temp
但我还有一点不明白,^.在这里表示什么意思?
'[^.[0-9,a-z,A-Z]'在这里具体匹配哪些字符了?怎么解释了?谢谢了。
[^.[:alnum:]]:表示除了数字、字符和.符号SELECT regexp_instr(A,'[^.[:alnum:]]') FROM temp
整个的意思就是查找除数字、字符和.符号以外的其它符号的位置