JSON_ ARRAY_ PACK
On this page
Converts a JSON array of zero or more floating point numbers to an encoded blob.
It is a scalar function.
Syntax
JSON_ARRAY_PACK('[float [, ...]]')
Arguments
A JSON array.
Return Type
A blob containing packed single-precision floating-point numbers in little-endian byte order.
Warning
Beginning with 8.
Remarks
JSON_
can be used with other vector built-in functions, namely DOT_
, VECTOR_
, and EUCLIDEAN_
.JSON_
is appropriately formatted for use as an input parameter to these functions.
Examples
Example: Inserting Data Using JSON_
The following example inserts data into a table with a column of the BLOB
data type.HEX()
built-in function is also used to return a readable form of the binary output:
CREATE TABLE jp_t (b blob);INSERT INTO jp_t VALUES (JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'));
SELECT HEX(b) FROM jp_t;
+--------------------------+
| HEX(b) |
+--------------------------+
| 0000803F0000003F00000040 |
+--------------------------+
Example: Using JSON_
The following example uses JSON_
for input parameters to the DOT_
built-in function:
SELECT DOT_PRODUCT(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'));
+-------------------------------------------------------------------------------------+
| DOT_PRODUCT(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[1.0, 0.5, 2.0]')) |
+-------------------------------------------------------------------------------------+
| 5.25 |
+-------------------------------------------------------------------------------------+
Example: Using JSON_
The following example uses JSON_
for input parameters to the VECTOR_
built-in function.HEX()
built-in function is also used to return a readable form of the binary output:
SELECT HEX(VECTOR_SUB(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[0.7, 0.2, 1.7]')));
+-----------------------------------------------------------------------------------------+
| HEX(VECTOR_SUB(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[0.7, 0.2, 1.7]'))) |
+-----------------------------------------------------------------------------------------+
| 9A99993E9A99993E9899993E |
+-----------------------------------------------------------------------------------------+
Example: Using JSON_
The following example uses JSON_
for input parameters to the EUCLIDEAN_
built-in function:
SELECT EUCLIDEAN_DISTANCE(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[0.7, 0.2, 1.7]'));
+--------------------------------------------------------------------------------------------+
| EUCLIDEAN_DISTANCE(JSON_ARRAY_PACK('[1.0, 0.5, 2.0]'), JSON_ARRAY_PACK('[0.7, 0.2, 1.7]')) |
+--------------------------------------------------------------------------------------------+
| 0.5196152239171921 |
+--------------------------------------------------------------------------------------------+
Related Topics
Last modified: March 21, 2024