我在SQL Server表中有一个名为JsonData
的列,其中数据为键/值对,
像这样:
{ “ID”:42662 “VERSIONNUMBER”:0 “IsCustom”:假 “SaleType”:0 “RedBookSpotId”:232164 “RegistrationNumber”: “AUTOTEST”, “价格”:29500.00,“RegistrationExpiryYear “:2013年,” RegistrationExpiryMonth “:9,” HasRWCertificate “:假的,” 里程表 “:43842,” ExteriorColour “:” 蓝 “ ”InteriorColour“: ”黑“, ”SummaryDescription“:” 这 是一个自动化测试广告 - 简短评论“,”详细描述“:”这 是一个自动化测试广告 - 详细 评论”, “StandardFeatures”:[], “OptionalFeatures”:[], “AfterMarketFeatures”:[]}
我想写一个T-SQL查询,只获取Odometer
键
答案 0 :(得分:2)
SQL Server 2008 has no support for JSON data types。您可以将您的姓名添加到请求它的人员列表中。
如果你知道列的排序,我想你可以使用substring函数编写一个复杂的查询,但这违反了JSON的键/值对的很多用处。
还有一些effort by third parties to add JSON functionality to SQL Server。
如果只需要查询一列或两列,我建议直接在表中的列中插入和更新它们,而不是查询存储的JSON。这是一个轻微的数据重复,但请考虑在这种情况下你的问题的答案是多么容易。
FYI PostgreSQL 9.3 has support for JSON data types每次发布都会越来越好。