1

JsonData在 SQL Server 表中有一个名为 Column 的数据作为键/值对,如下所示:

{"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":"这是一个自动化测试广告 - 简短评论" ,"DetailedDescription":"这是一个自动化测试广告 - 详细评论","StandardFeatures":[],"OptionalFeatures":[],"AfterMarketFeatures":[]}

我想编写一个 T-SQL 查询来只获取Odometer键的值

4

1 回答 1

2

SQL Server 2008 不支持 JSON 数据类型。您可以将您的名字添加到请求它的人的列表中。

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

第三方也为将 JSON 功能添加到 SQL Server 做出了一些努力。

如果您只需要查询一两列,我建议将它们直接插入和更新到表中的列中,而不是通过存储的 JSON 进行查询。这是数据的轻微重复,但请考虑在这种情况下您的问题的答案变得多么容易。

仅供参考PostgreSQL 9.3 支持 JSON 数据类型,每个版本都会变得更好。

于 2013-07-05T02:43:09.410 回答