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

SQL Server使用OPENJSON读取JSON提取AEDAT最大值为整数的方法

解决方案

你直接查询OPENJSON返回的value列对应数组中的完整JSON对象,因此得到的是整串{"AEDAT":"20211112"},没有提取出单独的AEDAT字段。你可以通过WITH子句显式指定JSON解析结构实现需求:

方法1:提取字段后再做类型转换

如果你不确定所有AEDAT值都是合法数字,可以先按字符串提取再转换:

SELECT MAX(CAST(AEDAT AS INT)) AS MaxAEDAT
FROM OPENJSON(@json, '$.value')
WITH (
    AEDAT VARCHAR(8) '$.AEDAT'
)

方法2:解析时直接指定字段类型

如果确认所有AEDAT值都是合法的8位数字,可以在解析时直接指定类型为INT,简化写法:

SELECT MAX(AEDAT) AS MaxAEDAT
FROM OPENJSON(@json, '$.value')
WITH (
    AEDAT INT '$.AEDAT'
)

两种写法返回的结果都是整数类型的20211112。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:04