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

如何在SQL Server表中创建answer列存储键值对并查询res值

创建answer列存储多组答案并查询res值

步骤1:创建answer列

添加JSON类型的answer列,通过CHECK约束确保格式合法:

ALTER TABLE 学生表名
ADD answer NVARCHAR(MAX) CHECK (ISJSON(answer) = 1);

步骤2:插入多组答案数据

示例:插入学生Mihir的单组或多组答案(多组需用JSON数组包裹):

-- 单组答案
INSERT INTO 学生表名(学生姓名, answer)
VALUES ('Mihir', '{"asn":"que1","res":34}');

-- 多组答案
INSERT INTO 学生表名(学生姓名, answer)
VALUES ('Mihir', '[{"asn":"que1","res":34}, {"asn":"que2","res":56}]');

步骤3:查询res值

单组答案行提取res值

用JSON_VALUE直接提取指定键的值:

SELECT 
    学生姓名,
    JSON_VALUE(answer, '$.res') AS res值
FROM 学生表名
WHERE 学生姓名 = 'Mihir';

多组答案行拆分提取所有res值

用OPENJSON解析JSON数组,将每组答案拆分为单独行:

SELECT 
    s.学生姓名,
    j.asn,
    j.res
FROM 学生表名 s
CROSS APPLY OPENJSON(s.answer)
WITH (
    asn NVARCHAR(50) '$.asn',
    res INT '$.res'
) j
WHERE s.学生姓名 = 'Mihir';

内容的提问来源于stack exchange,提问作者Aarsh Prajapati

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 08:31:02