【发布时间】:2011-10-26 21:44:14
【问题描述】:
首先,在我进入这个问题之前,我会以我知道这是一个“坏”的想法作为开头。但出于商业原因,我必须想出一个解决方案,我希望某个地方的某个人可能对如何解决这个问题有一些想法。
我有一个包含“OtherProperties”列的 SQL Server 2008 R2 表。此列包含与记录相关的各种其他、有些随意的附加信息。例如,有一个业务需要创建一个我们可以用来查询结果的 UDF。
SELECT *
FROM MyTable
WHERE MyUDFGetValue(myTable.OtherProperties, "LinkedOrder[0]") IS NOT NULL
这将找到一个记录,其中有一个 LinkedOrder 条目数组,其中包含索引 0 处的值
SELECT *
FROM MyTable
WHERE MyUDFGetValue(myTable.OtherProperties, "SubOrder.OrderId") = 25
这将找到一个属性“orderId”并在比较中使用它的值。
有人看过这个的实现吗?我见过函数的实现。像JSONParser 这样将值放入一个表中,这不会让我们得到我们需要的查询明智的。复杂性方面,我不想编写一个完整的 JSON 解析器,但如果需要,我可以。
【问题讨论】:
-
Parse JSON in TSQL的可能重复
标签: sql-server json string-parsing