1

次の SQL SELECT クエリは整数を返します。

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;

結果を整数から実数にキャストしようとすると、次のエラーが発生します。

型ビットを実数にキャストできません。

値を float に変換する方法はありますか?

4

1 に答える 1

0

IEEE754 はエンディアンをカバーしていないため、バイナリを float に変換するのに十分な情報ではありません。変換したい場合は、関数またはキャスト演算子を作成する必要があります。

于 2013-04-22T16:04:05.373 に答える