狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQLSERVER:JSON數據的讀寫

admin
2024年2月7日 23:10 本文熱度 723

JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式,易于人閱讀和編寫,同時也易于機器解析和生成。自 SQL Server 2016 起,SQL Server 提供了對 JSON 數據的內置支持,允許用戶解析、查詢、存儲和輸出 JSON 數據。以下是如何在 SQL Server 中處理 JSON 數據的詳細指南。

實例數據表

假設我們有一個名為 Customers 的表,其中包含 JSON 格式的地址數據:

CREATE TABLE Customers(    CustomerID INT PRIMARY KEY,    Name NVARCHAR(100),    AddressJSON NVARCHAR(MAX));
INSERT INTO Customers (CustomerID, Name, AddressJSON)VALUES(1, 'John Doe', '{"Street":"123 Main St", "City":"New York", "ZipCode":"10001"}'),(2, 'Jane Smith', '{"Street":"456 Center Rd", "City":"Los Angeles", "ZipCode":"90001"}'),(3, 'Mike Johnson', '{"Street":"789 Side Ave", "City":"Chicago", "ZipCode":"60601"}');

查詢 JSON 數據

您可以使用 JSON_VALUE 函數來提取 JSON 字符串中的特定值:

SELECT    CustomerID,    Name,    JSON_VALUE(AddressJSON, '$.City') AS CityFROM Customers;

這個查詢將返回每個顧客的城市信息。

修改 JSON 數據

可以通過將整個 JSON 字符串替換為更新后的版本來修改 JSON 數據。目前 SQL Server 不支持直接修改 JSON 字符串中的單個屬性。

UPDATE CustomersSET AddressJSON = JSON_MODIFY(AddressJSON, '$.ZipCode', '10002')WHERE CustomerID = 1;

這個腳本將為 CustomerID 為 1 的顧客更新郵政編碼。

將 JSON 轉換為關系數據

使用 OPENJSON 函數將 JSON 數據轉換為行集合:

SELECT    CustomerID,    Name,    JSONData.*FROM    CustomersCROSS APPLY    OPENJSON(AddressJSON)    WITH (        Street NVARCHAR(50) '$.Street',        City NVARCHAR(50) '$.City',        ZipCode NVARCHAR(10) '$.ZipCode'    ) AS JSONData;

這個查詢將返回一個包含街道、城市和郵政編碼的扁平化數據表。

將關系數據轉換為 JSON

使用 FOR JSON 子句將關系數據轉換為 JSON 格式:

SELECT    CustomerID,    Name,    AddressJSONFROM CustomersFOR JSON PATH, ROOT('Customers');

這將生成一個包含所有顧客信息的 JSON 文檔。

使用 JSON 查詢

JSON_QUERY 函數用于提取 JSON 對象或數組,而非單個標量值:

SELECT    CustomerID,    Name,    JSON_QUERY(AddressJSON, '$') AS AddressFROM CustomersWHERE JSON_VALUE(AddressJSON, '$.City') = 'New York';

這將返回所有在紐約市的顧客及其地址。

驗證 JSON 數據

使用 ISJSON 函數驗證字符串是否包含有效的 JSON 數據:

SELECT    CustomerID,    Name,    AddressJSON,    ISJSON(AddressJSON) AS IsValidJSONFROM Customers;

這將返回每個顧客的地址數據及其是否為有效 JSON 的指示。

總結

SQL Server 中的 JSON 功能提供了與 JSON 數據進行互動的便捷方法。從簡單的提取值到復雜的 JSON 數據轉換,SQL Server 都能夠處理各種 JSON 相關的任務。通過上述示例,開發人員可以更好地理解如何在 SQL Server 中利用 JSON 功能,并使用相關的方法和函數來執行各種操作。

請注意,與 XML 功能類似,JSON 數據處理在 SQL Server 中可能會有性能影響,特別是在處理大量數據時。因此,開發人員在設計和實現時應考慮性能最佳實踐,如避免復雜的 JSON 查詢以及在可能的情況下使用關系數據代替 JSON 數據。


該文章在 2024/2/7 23:10:16 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved