Kunoichi Asked:2020-07-23 15:42:16 +0000 UTC2020-07-23 15:42:16 +0000 UTC 2020-07-23 15:42:16 +0000 UTC 从 JSON 字符串中按键获取值 (SQL Server 2014) 772 继续上一个问题 有一个存储 json 文本的字段。里面有一个id变量,{"Id":25680,"Code":....需要从json中取出对象的Id,把值放到字段中。如何削减Id值?位数不同。 JSON_VALUESQL Server 2014 中不支持的函数 sql 2 个回答 Voted Best Answer Novitskiy Denis 2020-07-23T15:53:18Z2020-07-23T15:53:18Z substring如果文本具有相同的结构,则可以通过: create table table1 (json varchar (200)); insert into table1 values ('{"Id":25680,"Code":....') select substring (json,charindex (':',json)+1,charindex (',',json)-charindex (':',json)-1) from table1 小提琴 Denis Rubashkin 2020-07-23T16:37:15Z2020-07-23T16:37:15Z 提取给定的密钥(Id、Code 或其他): DECLARE @t VARCHAR(2000) = '{"Id":25680,"Code":...,' ,@key VARCHAR(32) SET @key = 'Id' SELECT SUBSTRING( @t, PATINDEX('%"'+@key+'":%', @t) + LEN('"'+@key+'":'), CHARINDEX(',', @t, PATINDEX('%"'+@key+'":%', @t) + LEN('"'+@key+'":')) - (PATINDEX('%"'+@key+'":%', @t) + LEN('"'+@key+'":')) )
substring如果文本具有相同的结构,则可以通过:小提琴
提取给定的密钥(Id、Code 或其他):