После глубокого погружения в то, как хранятся ДВОЙНЫЕ числа, я наконец-то нашел решение:
SELECT
POW(-1,CONV(SUBSTRING(LPAD(CONV('40053F7CED916872',16,2),64,'0'),1,1),2,10))*
POW(2,CONV(SUBSTRING(LPAD(CONV('40053F7CED916872',16,2),64,'0'),2,11),2,10)-1023)*
(1+CONV(SUBSTRING(LPAD(CONV('40053F7CED916872',16,2),64,'0'),13,52),2,10)/POW(2,52)) AS DBL;
Результат:
+-------+
| DBL |
+-------+
| 2.656 |
+-------+
По сути, преобразование BLOB в его двоичное представление,извлеките подразделы, соответствующие знаку, показателю степени и мантиссе, преобразуйте их в целые числа и объедините их, чтобы вычислить ДВОЙНОЙ.Некоторые ссылки, которые я использовал:
онлайн-конвертер
учебник
подробнее
Надеюсь, что это может помочь кому-то еще в будущем.С уважением.
Даниил