2015-07-13 272 views
0

我有我的数据存储在PostGre开源数据库中,IP地址是数据库中的一列,我希望运行一个查询例如修改IP地址从192.168.1.1192.168.1.2但是最大的问题在IP存储与连接到它在一列修改数据库属性

所以一些数据,

192.168.1.1/RaghavIP将被修改,以192.168.1.2/RaghavIP

我希望将数据保持不变,只是更改IP地址

PostGRE支持正则表达式和子我已经尝试过,但都没有成功

SELECT ipaddress 
FROM mytable 
WHERE ipaddress SIMILAR TO '%(_|__|___).(_|__|___).(_|__|___).(_|__|___)%'; 

感谢您的帮助:)

回答

0

如果你想改变一个特定的IP地址另一个特定的IP地址,不改变任何尾随信息,你可以简单地做:

UPDATE mytable 
SET ipaddress = replace(ipaddress, '192.168.1.1', '192.168.1.2') 
WHERE ipaddress LIKE '192.168.1.1%'; 

WHERE子句是可选的,它将使大表更快。

如果您想更新拉哈夫的IP地址,查询更简单:

UPDATE mytable 
SET ipaddress = '192.168.1.2/RaghavIP' 
WHERE ipaddress = '192.168.1.1/RaghavIP'; 
+0

第一查询正是我一直在寻找很多的感谢 – matta118