假设我在 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.
到目前为止,我已经在谷歌上搜索了一个解决方案,我知道我必须进行 CAST。但是我怎样才能将类型 macaddr 转换为 varhcar?
最佳答案
正式风格:CAST(mac AS varchar)
PostgreSQL 风格:mac::varchar
例如:
SELECT * FROM table_rad JOIN table_mac ON username = CAST(mac AS varchar)
关于postgresql - Postgres CAST macaddr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179876/