2013-04-22 59 views
1

下面的SQL SELECT查詢返回一個整數:每當我試圖從整數真正把結果的Postgres從包含浮動BYTEA(IEEE 754)真實(個float4)轉換

SELECT (((get_byte(dalsk.data, 0)::bit(8)) || 
    (get_byte(dalsk.data, 1)::bit(8)) || 
    (get_byte(dalsk.data, 2)::bit(8)) || 
    get_byte(dalsk.data, 3)::bit(8)) :: bit(32)) :: integer --AS rezult_float 
FROM (SELECT substring(data from 2 for 5) AS data FROM raw_data WHERE 
    raw_data_id = 33) 
AS dalsk; 

,我得到的以下錯誤:

Cannot cast type bit to real.

有沒有辦法將值轉換爲float?

回答

0

IEEE754不包括字節數,因此沒有足夠的信息將二進制數轉換爲浮點數。如果你想轉換它,你將不得不創建一個函數或cast operator

相關問題