我可以将macaddr8列检索为数字吗?

问题描述 投票:1回答:1

我正在使用PostgreSQL 10。

如果我理解正确,macaddr8列在内部存储为二进制数。

当我使用我的python / pandas / sqlalchemy脚本检索数据时,我将其作为一个字符串分隔的十六进制字节qazxsw poi。

是否可以将其作为数字检索?

python postgresql sqlalchemy postgresql-10
1个回答
1
投票

显然,没有内置的功能,但你可以这样做:

'01:23:45:67:89:ab:cd:ef'

例:

concat('x', replace(mac::text, ':', ''))::bit(64)::bigint

...结果成:

WITH values (mac) AS (VALUES ('01:23:45:67:89:ab:cd:ef'::macaddr8))
SELECT
    mac,
    concat('x', replace(mac::text, ':', ''))::bit(64)::bigint AS num
FROM values;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.