Чрез използване на функциите на MySQL INET_ATON()
и INET_NTOA()
можете надеждно да конвертирате входящ IPv4 адрес, който има водещи нули в същия низ без водещи нули. Обвийте INET_ATON()
с INET_NTOA()
за да преобразувате IP адреса първо в неговата целочислена стойност, а след това обратно в четворка с точки.
IP с водещи нули на различни места:
mysql> SELECT INET_NTOA(INET_ATON('001.110.011.111'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('001.110.011.111')) |
+-----------------------------------------+
| 1.110.11.111 |
+-----------------------------------------+
И без водещи нули за сравнение:
mysql> SELECT INET_NTOA(INET_ATON('1.110.11.111'));
+--------------------------------------+
| INET_NTOA(INET_ATON('1.110.11.111')) |
+--------------------------------------+
| 1.110.11.111 |
+--------------------------------------+
Забележка: Това ще върне NULL
ако входният IP адрес не е бил валиден адрес. Той няма да върне оригиналния низ или извеждане на нули от лош IP адрес:
Погрешен IP адрес с водещи нули:
mysql> SELECT INET_NTOA(INET_ATON('888.777.123.123'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('888.007.123.123')) |
+-----------------------------------------+
| NULL |
+-----------------------------------------+