拥有一个包含大量IP的数据库以及其他数据。有些在其他数字之前有0。例如,以下所有3个实例都可以在DB中出现:
12.12.12.12
012.12.012.12
012.012.012.012
我的第一个查询使用如下:
where ip like '%12.%12.%12.%.12'
然而,这会返回112.012.112.012,这是我不想要的。
我试过了:
where ip like '[0]%12.[0]%12.[0]%12.[0]%.12'
但返回0结果。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以使用正则表达式:
where regexp_like(ip, '^0*12[.]0*12[.]0*12[.]0*12$')
或者,如果您使用like
,则可以使用:
where replace(ltrim(ip, '0'), '.0', '.') like '12.12.12.12'
如果" 00"是可能的,你需要另一个replace()
。