Dengan memanfaatkan fungsi MySQL INET_ATON()
dan INET_NTOA()
Anda dapat dengan andal mengonversi alamat IPv4 masuk yang memiliki nol di depan menjadi string yang sama tanpa nol di depan. Bungkus INET_ATON()
dengan INET_NTOA()
untuk mengonversi alamat IP terlebih dahulu ke nilai bilangan bulatnya, lalu kembali ke segi empat bertitik.
IP dengan nol di depan di berbagai tempat:
mysql> SELECT INET_NTOA(INET_ATON('001.110.011.111'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('001.110.011.111')) |
+-----------------------------------------+
| 1.110.11.111 |
+-----------------------------------------+
Dan tanpa nol di depan untuk perbandingan:
mysql> SELECT INET_NTOA(INET_ATON('1.110.11.111'));
+--------------------------------------+
| INET_NTOA(INET_ATON('1.110.11.111')) |
+--------------------------------------+
| 1.110.11.111 |
+--------------------------------------+
Catatan: Ini akan mengembalikan NULL
jika alamat IP input bukan alamat yang valid. Itu tidak akan mengembalikan string asli atau menghapus nol di depan dari alamat IP yang buruk:
Alamat IP salah dengan angka nol di depan:
mysql> SELECT INET_NTOA(INET_ATON('888.777.123.123'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('888.007.123.123')) |
+-----------------------------------------+
| NULL |
+-----------------------------------------+