4
我想將HTML所用的十六進制字符串轉換爲bigint
,然後通過PL/pgSQL中寫入的函數將其轉換爲Postgres中的單獨R,G和B值。在Postgres中將十六進制字符串轉換爲bigint
我可以將字符串解碼爲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?
謝謝丹尼爾。如何做bigint到十六進制? – Cherven
@Cherven:postgres有一個內建的'to_hex(bigint)'函數 –