You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SingleStore中JSON_KEYS函数返回类型适配问题咨询

SingleStore JSON_KEYS 类型适配解决方案

问题本质

SingleStore 中 JSON_KEYS 函数返回的是 JSON 类型的数组,而原生 ARRAY(VARCHAR)/ARRAY(INT) 属于数据库原生数组类型,二者分属不同类型体系,无法直接隐式转换——这就是编译报错的核心原因。若声明为 JSON 类型仍报错,大概率是赋值语法存在问题。

具体解决方法

  1. 赋值给原生 ARRAY 类型
    需要用 JSON_TO_ARRAY 函数显式将 JSON 数组转换为对应类型的原生数组:
  • 若 JSON 键为字符串类型:
DECLARE items_keys ARRAY(VARCHAR(255));
SET items_keys = JSON_TO_ARRAY(JSON_KEYS(weighted_items_json), 'VARCHAR(255)');
  • 若 JSON 键为整数类型:
DECLARE items_keys ARRAY(INT);
SET items_keys = JSON_TO_ARRAY(JSON_KEYS(weighted_items_json), 'INT');
  1. 赋值给 JSON 类型变量
    直接赋值即可,确保变量声明和赋值语法正确:
DECLARE items_keys JSON;
SET items_keys = JSON_KEYS(weighted_items_json);

补充说明

JSON_TO_ARRAY 是 SingleStore 专门用于 JSON 数组与原生数组互转的函数,第二个参数需指定目标数组的元素类型,要与 JSON 键的实际类型匹配。

内容的提问来源于stack exchange,提问作者Lukas Pistelak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:42:04