SQL查询IP地址为0

时间:2018-05-30 19:33:37

标签: sql

拥有一个包含大量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结果。

非常感谢任何帮助。

1 个答案:

答案 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()