use*_*272 4 sql sql-server floating-point hex
我正在尝试找到HEX一种float在 SQL Server中转换为 a的方法。
一个示例值0x42c80000对应于100.00。
将此Hex值转换为Intusing很容易,CONVERT但我找不到等效的浮点转换。
DECLARE @BinaryFloat AS VARBINARY(4);
SET @BinaryFloat = CONVERT(VARBINARY, '0x42c80000',1);
SELECT SIGN(CAST(@BinaryFloat AS INT))
* (1.0 + (CAST(@BinaryFloat AS INT) & 0x007FFFFF) * POWER(CAST(2 AS REAL), -23))
* POWER(CAST(2 AS REAL), (CAST(@BinaryFloat AS INT) & 0x7f800000) / 0x00800000 - 127)
Run Code Online (Sandbox Code Playgroud)
希望我能获得荣誉,但唉:http : //multikoder.blogspot.com.au/2013/03/converting-varbinary-to-float-in-t-sql.html
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |