---
title: "CAST_FROM_BINARY_DOUBLE - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: CAST_FROM_BINARY_DOUBLE CAST_FROM_BINARY_DOUBLE 函数用于以 RAW 的二进制形式返回 BINARY_DOUBLE 值。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。 语法 UTL_RAW.CAS…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.0

# CAST_FROM_BINARY_DOUBLE

更新时间：2026-04-10 11:58:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/700.reference/500.sql-reference/300.pl-reference/300.pl-oracle/1400.pl-system-package-oracle/27000.utl-raw-oracle/600.cast-from-binary-double-oracle.md)  

`CAST_FROM_BINARY_DOUBLE` 函数用于以 `RAW` 的二进制形式返回 `BINARY_DOUBLE` 值。

#### 功能适用性

该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。

## 语法

```sql
UTL_RAW.CAST_FROM_BINARY_DOUBLE(
   n          IN BINARY_DOUBLE,
   endianess  IN PLS_INTEGER DEFAULT 1)
RETURN RAW;

```

## 参数说明

| **参数** | **说明** |
| --- | --- |
| n | `BINARY_DOUBLE` 值。 |
| endianess | 表示字节顺序的 `BINARY_INTEGER` 值。该函数可以识别的定义常量如下：   - 1： `big_endian` - 2：`little_endian` - 3：`machine_endian`   默认值为 `big_endian`。`machine_endian` 的设置与在大端机上的 `big_endian` 效果相同，或者与在小端机上的 `little_endian` 效果相同。 |

## 返回值

返回 `BINARY_DOUBLE` 值的二进制表示形式（RAW）。

## 使用说明

- 如下列表为一个 8 字节的 `BINARY_DOUBLE` 值与 IEEE 754 双精度格式的映射关系：

  ```sql
  byte 0: bit 63 ~ bit 56
  byte 1: bit 55 ~ bit 48
  byte 2: bit 47 ~ bit 40
  byte 3: bit 39 ~ bit 32
  byte 4: bit 31 ~ bit 24
  byte 5: bit 23 ~ bit 16
  byte 6: bit 15 ~ bit  8
  byte 7: bit  7 ~ bit  0

  ```
 - 参数 `endianess` 描述了 `BINARY_DOUBLE` 的字节如何映射到 `RAW` 的字节，如下列矩阵所示。其中，`rb0 ~ rb7` 指的是 `RAW` 中的字节，而 `db0 ~ db7` 指的是 `BINARY_DOUBLE` 中的字节。

  | **endianess** | **rb0** | **rb1** | **rb2** | **rb3** | **rb4** | **rb5** | **rb6** | **rb7** |
  | --- | --- | --- | --- | --- | --- | --- | --- | --- |
  | **big_endian** | db0 | db1 | db2 | db3 | db4 | db5 | db6 | db7 |
  | **little_endian** | db7 | db6 | db5 | db4 | db3 | db2 | db1 | db0 |
 - 对于 `machine-endian`，`BINARY_DOUBLE` 参数的 8 个字节被直接复制到 `RAW` 返回值中。如果用户在大端机上传递了 `big_endian`，或者在小端机上传递了 `little_endian`，效果是一样的。

## 示例

```sql
obclient> SELECT UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234, 1) FROM DUAL;
+-------------------------------------------+
| UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234,1) |
+-------------------------------------------+
| 402477CED916872B                          |
+-------------------------------------------+
1 row in set

obclient> SELECT UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234, 2) FROM DUAL;
+-------------------------------------------+
| UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234,2) |
+-------------------------------------------+
| 2B8716D9CE772440                          |
+-------------------------------------------+
1 row in set

obclient> SELECT UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234, 3) FROM DUAL;
+-------------------------------------------+
| UTL_RAW.CAST_FROM_BINARY_DOUBLE(10.234,3) |
+-------------------------------------------+
| 2B8716D9CE772440                          |
+-------------------------------------------+
1 row in set

obclient> SELECT UTL_RAW.CAST_FROM_BINARY_DOUBLE(-10.234, 3) FROM DUAL;
+--------------------------------------------+
| UTL_RAW.CAST_FROM_BINARY_DOUBLE(-10.234,3) |
+--------------------------------------------+
| 2B8716D9CE7724C0                           |
+--------------------------------------------+
1 row in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
