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

如何为OPENJSON查询结果添加自定义固定值列?

实现方式

要添加固定值的Type列,有两种简单的实现方法:

方法一:在OPENJSON的WITH子句中定义固定列

直接在WITH的字段列表里新增固定列,指定常量值即可,不需要关联JSON路径:

DECLARE @json NVARCHAR(4000) = N'{ 
    "pets" : {
            "cats" : [
            { "id" : 1, "name" : "Fluffy", "sex" : "Female" },
            { "id" : 2, "name" : "Long Tail", "sex" : "Female" },
            { "id" : 3, "name" : "Scratch", "sex" : "Male" }
        ]
    }
}'

SELECT * FROM OPENJSON(@json, '$.pets.cats') WITH
(
    id INT '$.id',
    name VARCHAR(10) '$.name',
    sex VARCHAR(10) '$.sex',
    Type VARCHAR(10) N'mammal' -- 新增固定值列
)

方法二:在SELECT语句中直接追加常量列

如果不想修改OPENJSON的解析定义,可以在查询结果里直接添加固定列:

DECLARE @json NVARCHAR(4000) = N'{ 
    "pets" : {
            "cats" : [
            { "id" : 1, "name" : "Fluffy", "sex" : "Female" },
            { "id" : 2, "name" : "Long Tail", "sex" : "Female" },
            { "id" : 3, "name" : "Scratch", "sex" : "Male" }
        ]
    }
}'

SELECT 
    id,
    name,
    sex,
    'mammal' AS Type -- 追加固定值列
FROM OPENJSON(@json, '$.pets.cats') WITH
(
    id INT '$.id',
    name VARCHAR(10) '$.name',
    sex VARCHAR(10) '$.sex'
)

两种方法最终都会返回包含id、name、sex、Type四列的结果,其中Type列的值固定为mammal。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:06:44