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;

每当我尝试将结果从整数转换为实数时,都会收到以下错误:

无法将类型位转换为实数。

有没有办法将值转换为浮点数?

4

1 回答 1

0

IEEE754 不包括字节序,因此不足以将二进制转换为浮点数。如果你想转换它,你必须创建一个函数或一个强制转换运算符

于 2013-04-22T16:04:05.373 回答