我有一個Json字符串。我想從Json字符串中獲得價值。SQL Server中的JSON數據處理
這是我的JSON字符串 {"latitude":"22.5712854"},{"longitude":"88.4266847"}
我想僅從這latitude
和longitude
,使用T-SQL查詢。
我有一個Json字符串。我想從Json字符串中獲得價值。SQL Server中的JSON數據處理
這是我的JSON字符串 {"latitude":"22.5712854"},{"longitude":"88.4266847"}
我想僅從這latitude
和longitude
,使用T-SQL查詢。
在TSQL中沒有原生的解析JSON的方法。但是Phil Factor在SQL函數中創建了自己的JSON實現。更多關於簡單談話博客文章:Consuming JSON Strings in SQL Server
Aslo Ric Vander方舟創造了自己的功能,但我沒有測試它。您可以在文章中閱讀更多內容:A Function to Split JSON Data
「在TSQL中沒有原生的解析JSON的方式,但是Phil Factor創建了自己的實現[在TSQL中解析JSON]」< - 最好的矛盾。不過,謝謝關於如何在TSQL中解析JSON的鏈接。 :) – rainabba
所列的自定義實現與原生(即內置)方式不同。 – Runonthespot
您可以使用JSON Select,它有幾個函數用於從JSON中提取不同的數據類型。對於你的要求,你可以做這樣的事情:
select
dbo.JsonDecimal(my_column, 'latitude') as latitude,
dbo.JsonDecimal(my_column, 'longitude') as longitude
from my_table
披露:我是JSON選擇的作者,這樣對你有興趣使用它:)
這可以幫助你:HTTPS:/ /www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/ –
TSQL本身不能解析JSON,它是一種非常弱的文本解析和處理語言(儘管你可以只用'SUBSTRING'和'CHARINDEX'解析你所顯示的字符串)。使用數據庫之外的代碼或可能的CLR過程來做到這一點幾乎肯定會更容易;這樣你就可以使用支持JSON的語言,或者至少具有良好的文本處理功能。 – Pondlife
可能重複的[在TSQL中解析JSON](http://stackoverflow.com/questions/2867501/parse-json-in-tsql) – AndrewC