Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql Regex ersetzt 0 von ipv4

Durch Nutzung der MySQL-Funktionen INET_ATON() und INET_NTOA() Sie können eine eingehende IPv4-Adresse mit führenden Nullen zuverlässig in dieselbe Zeichenfolge ohne führende Nullen konvertieren. Umbrechen Sie INET_ATON() mit INET_NTOA() um die IP-Adresse zuerst in ihren ganzzahligen Wert und dann zurück in ein gepunktetes Viereck umzuwandeln.

IP mit führenden Nullen an verschiedenen Stellen:

mysql> SELECT INET_NTOA(INET_ATON('001.110.011.111'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('001.110.011.111')) |
+-----------------------------------------+
| 1.110.11.111                            |
+-----------------------------------------+

Und ohne führende Nullen zum Vergleich:

mysql> SELECT INET_NTOA(INET_ATON('1.110.11.111'));
+--------------------------------------+
| INET_NTOA(INET_ATON('1.110.11.111')) |
+--------------------------------------+
| 1.110.11.111                         |
+--------------------------------------+

Hinweis: Dies gibt NULL zurück wenn die eingegebene IP-Adresse keine gültige Adresse war. Es wird nicht die ursprüngliche Zeichenfolge zurückgeben oder führende Nullen von einer fehlerhaften IP-Adresse entfernen:

Fehlerhafte IP-Adresse mit führenden Nullen:

mysql> SELECT INET_NTOA(INET_ATON('888.777.123.123'));
+-----------------------------------------+
| INET_NTOA(INET_ATON('888.007.123.123')) |
+-----------------------------------------+
| NULL                                    |
+-----------------------------------------+