tsql 正则_SQL语句中的正则表达式

正则表达式

REGEXP_LIKE执行正则表达式匹配

SELECT FIRST_NAME

FROM EMPLOYEES

WHERE REGEXP_LIKE(FIRST_NAME,'^al(an|yss)a$','i');--al之后是an或yss

SELECT FIRST_NAME

FROM EMPLOYEES

WHERE REGEXP_LIKE(FIRST_NAME,'^al(.){2}a$','i');--中间有任意一个字母出现两次

SELECT FIRST_NAME

FROM EMPLOYEES

WHERE REGEXP_LIKE(FIRST_NAME,'^al[^y]+a$','i');--第三个字母不允许是y一直匹配

REGEXP_REPLACE执行正则表达式替换

SELECT PHONE_NUMBER,REGEXP_REPLACE(PHONE_NUMBER,'\.','-')AS PHONE FROM EMPLOYEES;--必须要加转义字符\ 不加的话  ‘.’代表任意字符

REGEXP_INSTR搜索出现的位置

SELECT STREET_ADDRESS,

REGEXP_INSTR(STREET_ADDRESS,'[[:alpha:]]')AS FIRST_ALPHA_POSITION,--任何字母第一次出现的位置

REGEXP_INSTR(STREET_ADDRESS,'[[:digit:]]')AS FIRST_ALPHA_POSITION,--任何数字第一次出现的位置

REGEXP_INSTR(STREET_ADDRESS,'[[:alnum:]]')AS FIRST_ALPHA_POSITION--任何数字或字母第一次出现的位置

FROM LOCATIONS;

使用REGEXP_SUBSTR控制字符输出

SELECT STREET_ADDRESS,

REGEXP_SUBSTR(STREET_ADDRESS, ' [^ ]+ ')AS ROAD1,

REGEXP_SUBSTR(STREET_ADDRESS, '[^ ]+ ')AS ROAD2,

REGEXP_SUBSTR(STREET_ADDRESS, '[^ ]+')AS ROAD3,

REGEXP_SUBSTR(STREET_ADDRESS, ' [^ ]+(.)+')AS ROAD4,

REGEXP_SUBSTR(STREET_ADDRESS, '[[:alpha:]]')AS ROAD5,

REGEXP_SUBSTR(STREET_ADDRESS, '[[:alpha:]]+')AS ROAD6,

REGEXP_SU

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值