2014-10-18 54 views

回答

5

它使用Erwin's trick爲十六進制值轉換爲一個整數值:

with colors (hex_code) as (
    values ('#112233'), ('#203040') 
) 
select 'rgb('|| 
     ('x'||substr(hex_code,2,2))::bit(8)::int||','|| 
     ('x'||substr(hex_code,4,2))::bit(8)::int||','|| 
     ('x'||substr(hex_code,6,2))::bit(8)::int||')' 
from colors 
; 

不知道這是最快的方法,但我想不出一個不同的。 select表達式可以被移入一個沒有問題的函數中。

SQLFiddle演示:http://sqlfiddle.com/#!15/d41d8/3720

+1

+1,很好的一個知道 – radar 2014-10-18 15:07:10

+0

真的很好的例子! – Dmitry 2014-10-18 15:09:28

相關問題