CREATE PROCEDURE sp_GetJsonFields
(
@Json VARCHAR(MAX)
) AS
BEGIN
SELECT @Json=REPLACE(@Json,'{','')
SELECT @Json=REPLACE(@Json,'}',',')
DECLARE @temp VARCHAR(MAX)
DECLARE @objName VARCHAR(4000)
DECLARE @objValue VARCHAR(4000)
DECLARE @fieldSql VARCHAR(MAX)
SET @fieldSql='select ' WHILE LEN(@Json)>0 --LEN 函数返回文本字段中值的长度
BEGIN
--通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0
SELECT @temp=SUBSTRING(@Json,0,CHARINDEX(',',@Json,0))--截取到该逗号的位置字符串
--
SELECT @Json=RIGHT(@Json,LEN(@Json)-LEN(@temp)-1)--再获取右边字符串信息 ---取对象字段名称信息
set @objName =left(@temp,CHARINDEX(':',@temp,0)-1)
--取对象字段名称对应的值
set @objValue =right(@temp,len(@temp)-CHARINDEX(':',@temp,0)) --PRINT @objName+'='+ @objValue+';'
--替换""字符为''
set @fieldSql=@fieldSql+REPLACE(@objValue,'"','''')+' as '+REPLACE(@objName,'"','')+','
END
SET @fieldSql=LEFT(@fieldSql,LEN(@fieldSql)-1)
--EXEC sp_executesql @fieldSql
EXEC (@fieldSql)
END
GO EXEC sp_GetJsonFields @json=
'{"CarGid":"835A38CC-3D19-4123-AB7A-9AFC9704818A","CarQty":1,
"CarPrice":300000.00,"ShopGid":"835A38CC-6D19-4323-AB7A-6AFC9704765A","ShopName":"全新幻影新能源汽车直售店",
"CarName":"幻影系能源SL00",
"CarImage":"http:\/\/Carimg.Soft.com\/images9f024a01993cc68f89aab295"}'

抛砖引玉 引荐过来的东西 注意细节方面 就是 存贮的字段值中的json数据中 其它字段值的中间不能有逗号存在不然会引起 查值异常

譬如:"CarName":"幻影系能源SL00", 不能存在值"CarName":"幻影系能源SL00,全新一代特别奉献版,越野系列",

生成数据:

SQL存储实现将JSON自动转化成SQL数据列的更多相关文章

  1. sql server编写通用脚本自动统计各表数据量心得

    工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: /* 脚本来源:https://www.cnblogs.com/zha ...

  2. SQL Server2016 原生支持JSON

    SQL Server2016 原生支持JSON SQL Server 2005 开始支持 XML 数据类型,提供原生的 XML数据类型.XML 索引以及各种管理 XML 或输出 XML 格式的函数. ...

  3. NewSQL——优化的SQL存储引擎(TokuDB, MemSQL)+?

    NewSQL 是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性. NewSQL 是指这样一类新式的关系型数据库 ...

  4. SQL Server 2014 虚拟机的自动备份 (Resource Manager)

    自动备份将在运行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 上自动为所有现有数据库和新数据库配置托管备份到 Azure. 这样,便可以配置使用持 ...

  5. (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机

    Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机 今早我们释出一些很棒的Windows Azure更新.这些新的提升包括:SQL数据库:支持SQL自动导出和一个新的高级层 ...

  6. --自动创建备份SQL

    --自动创建备份SQL DECLARE @dbname VARCHAR(50) ,--要备份的数据库名称 @bakname VARCHAR(50) ,--备份后的bat名称 @sql VARCHAR( ...

  7. js将json字符串转化成json对象的方法

    js将json字符串转化成json对象的方法: JSON.parse(jsonObject)

  8. javascript中字符串格式json如何转化成json对象

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  9. SQL中采用Newtonsoft.Json处理json字符串

    原文 SQL中采用Newtonsoft.Json处理json字符串 使用环境: SQL Server2005; VS2010; 关于SQL中部署CLR程序集的方法,网上一搜一大把,需要了解的自行查阅, ...

随机推荐

  1. Intel网卡的漫游主动性

  2. js定时器的应用

    定时器分为两种 一种是一次性的,时间到就执行 var timer=setTimeout(fun,毫秒数); 清除的方法 clearTimeout(timer) 第二种是周期性的,根据设定的时间周期进行 ...

  3. Android AMS服务

    继续来研究Android Framework层相关的一些东东,这里是以Android8.0版本的源码进行梳理的,关注的还是其核心流程,不是彻底分析,了解了核心流程是为了了期其大概的原理. Androi ...

  4. IEnumerable,ICollection ,

    一般规定——IEnumerable < >(MSDN:http://msdn.microsoft.com/en-us/library/system.collections.ienumera ...

  5. Linux套接字与虚拟文件系统(1):初始化和创建

    http://www.cppblog.com/qinqing1984/archive/2015/05/03/210521.html 引言   在Unix的世界里,万物皆文件,通过虚拟文件系统VFS,程 ...

  6. Boggle Game

    Description Given a board which is a 2D matrix includes a-z and dictionary dict, find the largest co ...

  7. Spring搬迁

      Spring简介 加载bean流程 Bean的生命周期 双亲委派 自定义类加载器 Spring事务 异步Async Spring设计模式 Spring单例 SpringMVC流程   备注:app ...

  8. Xamarin.Forms之XAML

    官网参考 XAML基础知识 XAML(eXtensible Application Markup Language)可扩展应用程序标记语言,允许开发者在Xamarin.Forms应用中采用标记而不是代 ...

  9. The Architectural Principles Behind Vrbo’s GraphQL Implementation

    转自:https://medium.com/expedia-group-tech/graphql-component-architecture-principles-homeaway-ede8a58d ...

  10. 鸿蒙OS与谷歌Fuchsia

    鸿蒙,意在“开天辟地”,它的征程是物联网.跨终端,是一款战略性产品.它真正对标的不是安卓,而是谷歌最新研发的操作系统Fuchsia. 根据Fuchsia中文社区的介绍,在安卓和 Chrome OS 两 ...