Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

varchar 열에서 동일한 테이블의 정수로 IP 주소를 복사하는 MySQL 쿼리?

<시간/>

이를 위해 INET_ATON()을 사용할 수 있습니다. 먼저 −

를 생성해 보겠습니다.
mysql> create table DemoTable1404
   -> (
   -> IpAddress varchar(40)
   -> );
Query OK, 0 rows affected (1.02 sec)

insert −

를 사용하여 테이블에 일부 레코드 삽입
mysql> insert into DemoTable1404 values('192.168.120.0');
Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable1404 values('192.168.120.20');
Query OK, 1 row affected (0.60 sec)
mysql> insert into DemoTable1404 values('224.0.0.0');
Query OK, 1 row affected (0.42 sec)

select −

를 사용하여 테이블의 모든 레코드 표시
mysql> select * from DemoTable1404;

이것은 다음과 같은 출력을 생성합니다 -

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

다음은 varchar 열의 IP 주소를 동일한 정수로 복사하는 쿼리입니다 -

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)