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

SQL中如何用运算符筛选JSON字段数据?

解决方案

针对你提到的两个筛选场景,直接在WHERE子句中使用JSON_VALUE函数提取JSON字段内的值,再添加对应筛选条件即可,具体实现如下:

场景1:筛选AdNumber不为空的Key

通过JSON_VALUE从NativeObject中提取AdNumber字段,判断其不为空字符串:

SELECT Key, NativeObject
FROM dbo.UserResource
WHERE JSON_VALUE(NativeObject, '$.AdNumber') <> ''

场景2:筛选NativeID大于等于指定数值(如3000)的记录

注意NativeID在JSON中是字符串类型,需要先转换为数值类型再做比较:

SELECT Key, NativeObject, JSON_VALUE(NativeObject, '$.NativeID') AS NativeID
FROM dbo.UserResource
WHERE CAST(JSON_VALUE(NativeObject, '$.NativeID') AS INT) >= 3000

补充说明

你之前在SELECT子句中使用JSON_VALUE的写法是正确的,但筛选逻辑需要放在WHERE子句中生效。如果需要同时组合多个筛选条件,直接用AND/OR关联即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:20:41