postgresql - Postgres CAST macaddr

标签 postgresql casting

假设我在 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/

相关文章:

sql - 在不调用 View 两次的情况下获得最大值

postgresql - CentOS 7 pg_ctl : could not access directory "/var/lib/pgsql/data": Permission denied

postgresql - 如何在 pgAdmin 中执行 COPY 语句

Java 对象转换行为异常

c# - 如何确定枚举值的表示类型?

javascript - Sequelize bulkCreate 不包括新添加的列

sql - 我可以将一堆 boolean 列转换为 PostgreSQL 中的单个位图吗?

c - 为什么类型转换从 int 打印为 float "0.0000"

C++:转换/转换 void 指针到结构引用

c++ - 在 dynamic_casting 之后删除指针是否安全?