Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


FORMAT_BINARY_TO_NUMBER【暂不对外】

📄字数 1.0K
👁️阅读量 加载中...

功能描述

将二进制数据转化为指定格式的数字字符串。

提示

该函数主要用于转化系统表 SYS_STO_ZONESSTO_NODES

语法格式

sql
FORMAT_BINARY_TO_NUMBER(expr1, expr2, expr3, expr4, expr5)

输入参数

  • expr1BINARY 类型,要转化的二进制数据;
  • expr2INTEGER 类型,整数的字节长度,默认为4字节,例如 expr2 值为 2 时表示每两个字节解析为一个整数;
  • expr3INTEGER 类型,偏移量,即读取下一个整数时指针移动的字节数,默认与数字长度相等(连续读取);
  • expr4VARCHAR 类型,分隔符,默认为英文逗号;
  • expr5BOOLEAN 类型,是否为无符号整数,true 表示是无符号整型,默认为 true

输出结果

VARCHAR类型。

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF1函数参数有默认值

示例

sql
-- 将二进制数据转化为数字
SQL> SELECT FORMAT_BINARY_TO_NUMBER(HEXTORAW('010000000200000003000000'), 2, 4, ',', TRUE);

+-------+
| EXPR1 |
+-------+
| 1,2,3 |
+-------+

-- 函数处理逻辑解释:
-- 
-- 十六进制数据:
-- 01 00 00 00 02 00 00 00 03 00 00 00
-- 
-- 转化为二进制数据:
-- 00000001 00000000 00000000 00000000 00000010 00000000 00000000 00000000 00000011 00000000 00000000 00000000
-- 
-- 按偏移量四字节划分组别:
-- 组1: 00000001 00000000 00000000 00000000
-- 组2: 00000010 00000000 00000000 00000000
-- 组3: 00000011 00000000 00000000 00000000
-- 
-- 每两个字节解析为整数,即提取前两个字节数据:
-- 组1: 00000001 00000000
-- 组2: 00000010 00000000
-- 组3: 00000011 00000000
-- 
-- 小端存储转化为易读的大端存储:
-- 组1:00000000 00000001
-- 组2:00000000 00000010
-- 组3:00000000 00000011
-- 
-- 转化为整数:
-- 组1: 1
-- 组2: 2
-- 组3: 3
-- 
-- 以分隔符','分隔组合为字符串:
-- 1,2,3