从一个SQL Server列中获取KEY VALUE对

1 人关注

我在SQL Server表中有一个名为 JsonData 的列,该列的数据为键/值对。

{"Id":42662, "VersionNumber":0, "IsCustom":false, "SaleType":0, "RedBookSpotId":232164, "RegistrationNumber": "AUTOTEST", "Price": 29500.00, "RegistrationExpiryYear":2013, "RegistrationExpiryMonth":9, "HasRWCertificate":false, "Odometer":43842, "ExteriorColour": "Blue", "InteriorColour": "Black", "SummaryDescription": "This is automation test ad - Short Comments 是一个自动化测试广告--简短评论", "DetailedDescription": "这是一个自动化测试广告--详细描述 是一个自动化测试广告 - 详细 Comments", "StandardFeatures":[], "OptionalFeatures":[], "AfterMarketFeatures":[]}。

我想写一个T-SQL查询,只获取 Odometer key的值。

sql
json
sql-server-2008
Raghav
Raghav
发布于 2013-07-05
1 个回答
Ryan Weir
Ryan Weir
发布于 2013-07-05
0 人赞同

SQL Server 2008没有对JSON数据类型的支持 。你可以把你的名字加入到要求它的人的名单中。

如果你知道列的排序,我想你可以使用substring函数写一个复杂的查询,但这违反了JSON的相当多的键/值对的用处。