相关疑难解决方法(0)

使用T-SQL,从字符串返回第n个分隔元素

我需要创建一个函数,它将返回分隔字符串的第n个元素.

对于数据迁移项目,我使用SQL脚本将存储在SQL Server数据库中的JSON审核记录转换为结构化报告.目标是提供脚本使用的sql脚本和sql函数,而无需任何代码.

(这是一个短期修复,将在ASP.NET/MVC应用程序中添加新的审核功能时使用)

可用的表格示例不缺少分隔字符串.我选择了一个Common Table Expression示例http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings

示例:我想从'1,222,2,67,888,1111'返回67

t-sql sql-server split sql-server-2008

12
推荐指数
4
解决办法
2万
查看次数

在 MSSQL 查询中使用多个 JSON_VALUE-s 会损害性能

我在 sql server 数据库中有一个表,其中有 json 类型的列。

Table - SomeTable
Id | Properties
1  | {"field1":"value1", "field2":"value2", "field3":"value3", "field4":"value4"}
2  | {"field1":"value1", "field2":"value2", "field3":"value3", "field4":"value4"}
...|...
Run Code Online (Sandbox Code Playgroud)

我编写了选择查询,它分别选择每个字段的值:

SELECT
    JSON_VALUE(Properties, '$.field1') as field1,
    JSON_VALUE(Properties, '$.field2') as field2,
    JSON_VALUE(Properties, '$.field3') as field3,
    JSON_VALUE(Properties, '$.field4') as field4
FROM SomeTable
Run Code Online (Sandbox Code Playgroud)

我在微软的文档中找到了这种方法(https://learn.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15

在查询中写入许多 JSON_VALUE-s 会损害性能吗?SQL 是否对查询中写入的每个 JSON_VALUE 进行字符串反序列化。

sql database sql-server select json

4
推荐指数
2
解决办法
3407
查看次数

标签 统计

sql-server ×2

database ×1

json ×1

select ×1

split ×1

sql ×1

sql-server-2008 ×1

t-sql ×1