我有一个 json 字符串存储在一个 sql 表中。我这样做的原因是为了输出保存的模型,虽然我不知道模型是什么样子的。它应该是一个插件。
虽然它们是按类型分开的。例如,我将使用表单模型。
一个表单将包含名字、姓氏、电子邮件和评论
。
另一个表单将有一个全名、电子邮件、评论和电话号码
。
我不想强制某人使用无法轻易更改的特定模型。
我的两个模型完美地显示在两个单独的 html 表格中。我这么说只是为了让您知道每个模型都会根据类型具有相同的属性,并且这两个模型永远不会在同一个 html 表中。
我只是希望能够按 json 中的未知属性进行排序。有没有办法在 SQL Server 的 json 字符串中按键值排序?
我会在它进行查询后执行此操作,但我面临的问题是我可能会有数十万条记录。我不想做那么大的查询并在我的页面上吐出那个 JSON,所以我实现了分页。我觉得必须有一个很好的方法来做到这一点。
如果重要的话,我正在使用 asp.net。
最佳答案
在 SQL Server 2016 中,您可以在常规查询中使用 JSON 字段,例如:
SELECT * FROM mytab
WHERE JSON_VALUE(json_col, '$.lastname') LIKE '%Connor%'
ORDER BY JSON_VALUE(json_col, '$.firstname')
您甚至可以在属性上创建索引。参见 MSDN有关更多示例。此功能也将在 Azure SQL 数据库中可用。 在旧版本中,您将需要使用某种解析 JSON 的 CLR 程序集。
关于c# - SQL Server 中的 orderby json 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33045913/