<分区>
我想将 HTML 使用的十六进制字符串转换为 bigint
,然后通过用 PL/pgSQL 编写的函数将其转换为 Postgres 中单独的 R、G 和 B 值。
我可以像这样将字符串解码为 bytea
:
hex bytea := decode(hex, 'hex');
在具有固定值的查询中,这就像一个美丽的东西:
select ( array[ (cast(x'ffaa33' as bigint) >> 16) % 256,
(cast(x'ffaa33' as bigint) >> 8) % 256,
cast(x'ffaa33' as bigint) % 256 ] )
但我不能将两者放在一起,传递 - 例如 'ffaa33' 作为参数。
谁有更好的主意?我正在使用 PosgreSQL 9.1?