Postgres CAST macaddr - PullRequest
       3

Postgres CAST macaddr

3 голосов
/ 03 марта 2011

Допустим, у меня есть две таблицы в Postgres:

Name: table_rad
Column    Type   
id        integer
username  character varying(64)

Name: table_mac
Column    Type
id        integer
mac       macaddr

Я хочу сделать для присоединения:

SELECT * FROM table_rad WHERE username = mac;

Postgres будет жаловаться:

ERROR: operator does no exist: character varying = macaddr
LINE 1: ...ELECT * from table_rad WHERE username = mac;
                                                 ^    
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.

Софар. Я погуглил решение, и я знаю, что должен ПРОБИТЬ. Но как я могу привести тип macaddr к varhcar?

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Формальный стиль: CAST(mac AS varchar)

PostgreSQL-стиль: mac::varchar

Например:

SELECT * FROM table_rad JOIN table_mac ON username = CAST(mac AS varchar)
0 голосов
/ 26 июля 2015

Вы можете сделать это по ::text, как показано ниже:

SELECT * FROM table_rad WHERE username = mac::text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...