oracle处理字符串之正则表达式查询只包含字母或数字的数据

假设表名为t1,列名为d1,则sql如下

select d1 from t1 where regexp_like(d1,’^[0-9a-zA-Z]+$’)

 

+:表示匹配前面的字表达式1次或多次(*号表示至少匹配0次)

^:匹配输入字符串开始的位置,对应like中的like ’xxx%’,即没有前模糊查询(^在[]中括号表示否的意思)

$:匹配输入字符串结束的位置,对应like中的like ’%xxx’,即没有后模糊查询

前后加上^$表示精准匹配,即like ’xxx’

Oracle,可以使用正则表达式函数`REGEXP_SUBSTR`提取文或英文或数字。`REGEXP_SUBSTR`函数可以在字符串匹配正则表达式,并返回匹配的部分。 1. 提取文 要提取文,可以使用以下正则表达式: ``` [\u4e00-\u9fa5]+ ``` 其,`[\u4e00-\u9fa5]`表示所有的文字符。`+`表示匹配前一个字符一次或多次。这个正则表达式可以匹配一个或多个文字符。 下面的示例演示了如何使用`REGEXP_SUBSTR`函数来提取文: ``` SELECT REGEXP_SUBSTR('Hello世界123', '[\u4e00-\u9fa5]+') AS result FROM dual; ``` 这个查询将返回以下结果: ``` 世界 ``` 在这个示例,`REGEXP_SUBSTR`函数从字符串提取了所有的文字符。 2. 提取英文 要提取英文,可以使用以下正则表达式: ``` [A-Za-z]+ ``` 其,`[A-Za-z]`表示所有的英文字母。`+`表示匹配前一个字符一次或多次。这个正则表达式可以匹配一个或多个英文字母。 下面的示例演示了如何使用`REGEXP_SUBSTR`函数来提取英文: ``` SELECT REGEXP_SUBSTR('Hello世界123', '[A-Za-z]+') AS result FROM dual; ``` 这个查询将返回以下结果: ``` Hello ``` 在这个示例,`REGEXP_SUBSTR`函数从字符串提取了所有的英文字母。 3. 提取数字 要提取数字,可以使用以下正则表达式: ``` [0-9]+ ``` 其,`[0-9]`表示所有的数字。`+`表示匹配前一个字符一次或多次。这个正则表达式可以匹配一个或多个数字。 下面的示例演示了如何使用`REGEXP_SUBSTR`函数来提取数字: ``` SELECT REGEXP_SUBSTR('Hello世界123', '[0-9]+') AS result FROM dual; ``` 这个查询将返回以下结果: ``` 123 ``` 在这个示例,`REGEXP_SUBSTR`函数从字符串提取了所有的数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值