javascript
sqlserver慕课_SqlServer 操作 JSON
Intro
Sql Server 從 2016 開始支持了一些 json 操作,最近的項目里也是好多地方直接用字段直接存成了 json ,需要了解一下怎么在 Sql Server 中操作 JSON.
JSON支持適用于 SqlServer 2016 及以上版本 和 Azure SQL Database。
SqlServer 中內置了一些 JSON 相關的方法:
可以判斷一段字符串是否是標準的 json(ISJSON)
可以直接查詢數據成 json 格式(FOR JSON PATH) 類似于之前的查詢一個 xml (FOR XML PATH),
查詢一個 json 對象的值(JSON_VALUE)
查詢一個 json 數組值
更新一段JSON的內容,修改 JSON 對象里的屬性值,刪除 JSON 對象里的某一個屬性,增加屬性
解析一段 json 內容 (OPENJSON)
JSON 操作
JSON 存儲
數據庫里 JSON 存儲一般用 NVARCHAR(MAX) 類型來保存,如果一定是 JSON 形式的數據可以設置一個約束,可以通過 ISJSON 來給字段加約束,詳情參考
JSON 屬性加索引
要給 JSON 對象的某個屬性加字段時,需要增加一個虛擬的列,然后在這個列中建立一個索引。CopyALTER?TABLE?Sales.SalesOrderHeaderADD?vCustomerName?AS?JSON_VALUE(Info,'$.Customer.Name')CREATE?INDEX?idx_soh_json_CustomerNameON?Sales.SalesOrderHeader(vCustomerName)
JSON 基本操作Copy{????"name":?"小明",????"info":?{????????"address":?{????????????"province":?"河南省",????????????"city":?"鄭州市",????????????"district":?"鄭東新區"
},????????"hobbies":?[????????????"籃球",????????????"足球",????????????"乒乓球"
]
}
}Copy--?查詢某一屬性值SET?@name?=?JSON_VALUE(@jsonInfo,?'$.name');SET?@city?=?JSON_VALUE(@jsonInfo,?'$.info.address.city');--?查詢數組SET?@hobbies?=?JSON_QUERY(@jsonInfo,?'$.info.hobbies');--?增加屬性?tempPropSET?@jsonInfo?=?JSON_MODIFY(@jsonInfo,?'tempProp',?1);--?刪除屬性?tempPropSET?@jsonInfo?=?JSON_MODIFY(@jsonInfo,?'tempProp',?null);
Reference
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的sqlserver慕课_SqlServer 操作 JSON的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么设置跨网段的路由器不同网段连接的路由
- 下一篇: mysql如何让表建立连接吗_MySQL