« mySQL: Aktuelle mySQL Version auslesen | Startseite | mySQL: Eindeutige ID (UID) erzeugen »
mySQL: IP Adresse in Integer umrechnen (und zurück)
Jockel | 17.07.2010
Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben.
Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion “inet_aton()”.
Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln.
Das folgende Beispiel zeigt die Anwendung:
SELECT INET_ATON('192.168.0.200');
Ergebnis:
3232235720
Die Zahl berechnet sich aus folgender Formel:
192×2563 + 168×2562 + 0×256 + 200 = 3232235720
Um diese Zahl wieder in eine gültige IP Adresse zu konvertieren, zeigen wir im folgenden Beispiel
die Anwendung des mySQL Befehls “inet_ntoa()”:
SELECT INET_NTOA(3232235720);
Ergebnis:
192.168.0.200
Kategorie: Allgemeines, MySQL | 2 Kommentare »
11.08.2010 um 16:06
Wie wird die Zahl jetzt genau berechnet?
Ist das x eine Multiplikatikon oder was ist das und der Rest wird addiert oder?
Danke!
lG
12.08.2010 um 17:48
Die Berechung erfolgt durch eine Bitverschiebung.
Das folgende Beispiel soll einen kurzen Einblick geben:
$ip = $one*pow(256,3) + $two*pow(256,2) + $three*pow(256,1) + $four*pow(256,0);