在SQL中将1减为IP地址

在SQL中将1减为IP地址,sql,ip,Sql,Ip,我在SQL中有一个列,其中包含一个特定的IP地址作为文本 我想在每一行中减去1,例如:从10.0.0.129到10.0.0.128 可能我可以导出到Excel文件,并将最后一个八位元.129替换为.128,.65替换为.64,等等,但我想知道是否存在更好的操作方法 多谢各位 编辑:我使用MySQL和PHPMyAdmin接口。 结果不必是.0,因为IP范围现在总是/8/16或/24。您只需要减少最后一个数字 下面是一个非常干净的方法,使用子字符串\u index(): 请说明您使用的是哪种RDBM

我在SQL中有一个列,其中包含一个特定的IP地址作为文本

我想在每一行中减去1,例如:从
10.0.0.129
10.0.0.128

可能我可以导出到Excel文件,并将最后一个八位元
.129
替换为
.128
.65
替换为
.64
,等等,但我想知道是否存在更好的操作方法

多谢各位

编辑:我使用MySQL和PHPMyAdmin接口。
结果不必是
.0
,因为IP范围现在总是/8/16或/24。

您只需要减少最后一个数字

下面是一个非常干净的方法,使用
子字符串\u index()


请说明您使用的是哪种RDBMS您使用的是哪种数据库?如果第三个点后的数字是0怎么办?我只是用这些信息编辑。(在西班牙,RDBMS是我的SGBD,很抱歉迟回复:)
select concat(substring_index(ip, '.', 3),
              '.',
              substring_index(ip, '.', -1) -1
             ) as NewIP