MySQL查询将IP地址从varchar列复制到同一表中的整数?

为此,您可以使用INET_ATON()。让我们首先创建一个-

mysql> create table DemoTable1404
   -> (
   -> IpAddress varchar(40)
   -> );

使用insert在表中插入一些记录-

mysql> insert into DemoTable1404 values('192.168.120.0');
mysql> insert into DemoTable1404 values('192.168.120.20');
mysql> insert into DemoTable1404 values('224.0.0.0');

使用选择显示表中的所有记录-

mysql> select * from DemoTable1404;

这将产生以下输出-

+----------------+
| IpAddress      |
+----------------+
| 192.168.120.0  |
| 192.168.120.20 |
| 224.0.0.0      |
+----------------+
3 rows in set (0.00 sec)

以下是将IP地址从varchar列复制到相同整数的查询-

mysql> select inet_aton(IpAddress) from DemoTable1404;

这将产生以下输出-

+----------------------+
| inet_aton(IpAddress) |
+----------------------+
|           3232266240 |
|           3232266260 |
|           3758096384 |
+----------------------+
3 rows in set (0.00 sec)

不,让我们证明转换成功与否-

mysql> select inet_ntoa('3232266240');

这将产生以下输出-

+-------------------------+
| inet_ntoa('3232266240') |
+-------------------------+
| 192.168.120.0           |
+-------------------------+
1 row in set (0.27 sec)