Almacenar IPs en las bases de datos

La mayoría de los usuarios cuando tienen que almacenar IPs en sus bases de datos los hacen con tipos de campos VARCHAR cuando es mucho más óptimo almacenarlos con un entero sin signo (en caso de MySQL) o BIG INT (en caso de SQL Server).

ip-address

Convertir IPs en MySQL

Existen 2 funciones para ello inet_aton e inet_ntoa, la primera convierte la IP en un número y la segunda es el proceso contrario.

Convertir IPs en SQL Server

En SQL Server no hay funciones predefinidas para ello pero las podemos crear muy fácilmente, en el siguiente enlace hay un par de ejemplos muy buenos para convertir IPs a BIG INT en SQL Server y viceversa.

Esta transformación también la podemos hacer al insertar los datos en el lenguaje de programación, en el caso de PHP sería ip2long y long2ip.

Comentarios