Skip to content

COMPRESS_FLOATS

功能描述

32位FLOAT[]数组类型转换为16位FLOAT[]数组类型,并以BINARY类型数据返回。

函数可指定精度值,精度取值范围[0, 3],来源于半精度浮点数的有效范围。压缩后的数据,可通过函数UNCOMPRESS_FLOATS将数据解压为FLOAT[]类型数据。

语法格式

COMPRESS_FLOATS(expr1,expr2)

参数说明

  • expr1:需要转化的数组,FLOAT[]数据类型。
  • expr2:指定精度,INTEGER数据类型。

函数返回类型

BINARY类型。

说明:

若任意参数为NULL,则返回NULL。

示例

sql
SQL> CREATE TABLE table_tt(c1 FLOAT[]);

SQL> INSERT INTO table_tt VALUES('{12.34,1.34,-2.56}');

SQL> SELECT RAWTOHEX(COMPRESS_FLOATS(c1,0)),RAWTOHEX(COMPRESS_FLOATS(c1,1)),RAWTOHEX(COMPRESS_FLOATS(c1,2)),RAWTOHEX(COMPRESS_FLOATS(c1,3)) FROM table_tt;

EXPR1 | EXPR2 | EXPR3 | EXPR4 | 
------------------------------------------------------------------------------
0000000000050002001800| 010000000033001A00F600| 0200000000010418024813| 031EC15C3D2B4A|