Si queremos hacer una búsqueda de direcciones IP en un campo PostgreSQL del tipo INET, no podemos hacerlo directamente con LIKE ...
psql=>SELECT * FROM tabla WHERE ip LIKE '192.168.1.%';
ERROR: la sintaxis de entrada no es válida para tipo inet: «192.168.1.%»
...ya que inet no es texto y no lo admite.
SOLUCCIÓN: Utilizar la función HOST(inet) que transforma el campo tipo INET en texto:
psql=>SELECT * FROM tabla WHERE HOST(ip) LIKE '192.168.1.%';
Ref.:
How do I perform a wildcard "like" select on type inet with Postgresql 7.4?
9.10. Network Address Type Functions
No hay comentarios:
Publicar un comentario