问题描述
如何提取出现在4';'之后的字符串在表中的列中使用选择查询?
例如-如果U在列中具有以下值:
1234;0000;567;655;0541234567;777;777
0541234567
谢谢!
解决方法
您可以使用一些JSON
示例
Declare @YourTable table (SomeCol varchar(100))
Insert into @YourTable values ('1234;0000;567;655;0541234567;777;777')
Select A.SomeCol,Val5 = JSON_VALUE(S,'$[4]')
from @YourTable A
Cross Apply ( values ( '["'+replace(SomeCol,';','","')+'"]' ) ) B(S)
返回
SomeCol Val5
1234;0000;567;655;0541234567;777;777 0541234567
编辑-仅在一个值之后不需要交叉应用
Select A.SomeCol,Val5 = JSON_VALUE('["'+replace(SomeCol,"')+'"]','$[4]')
from @YourTable A