【发布时间】:2025-06-12 20:10:01
【问题描述】:
我有一个大字符串 (nvarchar(MAX)),我试图拆分 2 并确定它们是原始字符串的哪一部分。
例子
字符串:
5;718;0;1071;1.23|0;750;0;997;1.25|0;750;0;997;1.25|0;750;0;997;1.25|0;750;0;997;1.25|0;750;0;997;1.25
我首先需要根据'|' 字符拆分字符串,如下所示:
5;718;0;1071;1.23
0;750;0;997;1.25
0;750;0;997;1.25
0;750;0;997;1.25
0;750;0;997;1.25
0;750;0;997;1.25
然后我会根据';' 字符拆分每个:
所以5;718;0;1071;1.23 会分裂成:
5
718
0
1071
1.23
我知道我可以在 '|' 上执行 string_split,然后在 ';' 上执行另一个 string_split但这不会保持顺序或识别结果是从字符串的哪个部分拆分出来的,不幸的是,我在尝试使用 OPENJSON() 时无法获得我正在寻找的结果:
根据上面的示例,我需要一个可以识别718 来自第一组和所述组中的第二项的结果。
【问题讨论】:
标签: sql-server sql-server-2016