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. Prometheus(五):Prometheus+Alertmanager 配置企业微信报警

    此处默认已安装Prometheus服务,服务地址:192.168.56.200  一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...

  2. Beta冲刺第1次

    二.Scrum部分 1. 各成员情况 张祥 学号:201731062624 今日进展 完善了人脸识别页面效果 存在问题 无 明日安排 视后勤组和web后端情况而定 截图 陈远杨 学号:20173106 ...

  3. Xorequ(BZOJ3329+数位DP+斐波那契数列)

    题目链接 传送门 思路 由\(a\bigoplus b=c\rightarrow a=c\bigoplus b\)得原式可化为\(x\bigoplus 2x=3x\). 又异或是不进位加法,且\(2x ...

  4. python基础语法4 文件处理

    1.什么是文件 操作系统提供给你操作硬盘的一个工具 2.为什么要用文件 因为人类和计算机要永久保存数据 3.怎么用文件 相对路径:a.txt # 必须与当前py文件在同一级目录绝对路径:D:\项目路径 ...

  5. 去除WordPress分类描述P标签

    我们知道栏目页调用栏目描述直接用<?php echo category_description(); ?>就ok了,但是使用上面的代码调用Wordpress分类描述,会自动出现P标签,如& ...

  6. crontab每小时运行一次(转)

    https://blog.csdn.net/liu0808/article/details/80668705 先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错 ...

  7. 虚拟机将ip修改为静态

  8. Linux安装pycharm并添加图标到桌面

    安装: 1.到pycharm官网下载Linux版本的pycharm包. 2.打开中端 cd到下载的文件夹,默认为 ~/Downloads/ 文件夹下 3.执行命令 tar -xvzf pycharm- ...

  9. BZOJ 4500: 矩阵 带权并查集

    这个思路挺巧妙的 ~ 定义一行/列的权值为操作后所整体增加的值. 那么,我们会有若干个 $a[x]+b[y]=c$ 的限制条件. 但是呢,我们发现符号是不能限制我们的(因为可加可减) 所以可以将限制条 ...

  10. 【CF55D】Beautiful numbers

    [CF55D]Beautiful numbers 题面 洛谷 题解 考虑到如果一个数整除所有数那么可以整除他们的\(lcm\),而如果数\(x\)满足\(x\bmod Lcm(1,2...,9)=r\ ...