首页 > 解决方案 > 通配符运算符用于排除字符前后的所有数字

问题描述

我想找到像 VIA BOEZIO 6 这样的所有地址。我用过:

select address
from tab
where address like '%VIA%BOEZIO%6%'

但不幸的是,这是结果:

在此处输入图像描述

有没有办法排除“6”前后的所有数字字符。你可以帮帮我吗?

谢谢马蒂亚

编辑:我已经修复了:

其中地址类似于 '%VIA%BOEZIO%[^0-9]6[^0-9]%'

标签: sqloraclesql-like

解决方案


这将保证在“6”之前或之后没有额外的数字。
它还允许您在“BOEZIO”和“6”之间任意组合非字母数字字符。

select address
from   tab
where  regexp_like(address, 'VIA BOEZIO(\W|_)+6(\D|$)')

SQL小提琴


推荐阅读