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|