Phil Mayers wrote:
> Try this:
>
> hdbdev=> create table ips ( ip inet, ip_txt varchar(15) );
> hdbdev=> insert into ips (ip,ip_txt) values ('192.168.1.1','192.168.1.1');
> hdbdev=> select * from ips where ip like '192.168.1.1';
> ip | ip_txt
> ----+--------
> (0 rows)
>
> hdbdev=> select * from ips where ip_txt like '192.168.1.1';
> ip | ip_txt
> -------------+-------------
> 192.168.1.1 | 192.168.1.1
> (1 row)
>
> That seems inconsistent?
The default text conversion for the inet type includes a mask:
test=# select text(ip) from ips;
text
----------------
192.168.1.1/32
(1 row)
so
select * from ips where ip like '192.168.1.1%';
works as expected.
The joys of semanically rich data types :-)
Hope this helps a little.
Allan.
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера