JSON_KEYS 函数

问题描述 投票:0回答:1

在JSON_KEYS函数中,我不明白什么是返回类型:

https://docs.singlestore.com/cloud/reference/sql-reference/json-functions/json-keys/

根据文档:返回值:一个 JSON 数组

items_keys = JSON_KEYS(weighted_items_json);

我尝试将 items_keys 声明为:

items_keys ARRAY(VARCHAR(255)); items_keys ARRAY(INT); items_keys JSON;

每次都会出现错误:

Y000][2211] Compilation error in function 
recommendation_groupon_us
.
new_method
 near line 40: It is not valid to create a value of type 'array(varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL)' from 'JSON_KEYS(weighted_items_json)' because the types are incompatible

sql sql-function singlestore
1个回答
0
投票

我认为在 SingleStore 中,JSON 被视为一种独特的数据类型,与数组或其他数据类型分开。1

要使用 JSON_KEYS 的结果,您应该将 items_keys 声明为 JSON 类型。

例如:

DECLARE items_keys JSON;
SET items_keys = JSON_KEYS(weighted_items_json);

如果您需要将键作为数组使用,则可能需要使用 JSON_TO_ARRAY 函数将 JSON 数组转换为 SingleStore 数组。您可以这样做:

DECLARE items_keys_array ARRAY(JSON);
SET items_keys_array = JSON_TO_ARRAY(JSON_KEYS(weighted_items_json));

请参阅以下文档和博客页面。 https://www.singlestore.com/blog/what-is-json-/

https://docs.singlestore.com/cloud/reference/sql-reference/json-functions/json-to-array/#syntax

SingleStore 在他们的支持论坛上更加活跃,也许可以直接在那里联系他们。

© www.soinside.com 2019 - 2024. All rights reserved.