我想在两列中分隔一个字符串。字符串可以是不同的长度,例如:
@string1 = (10)123514512(20)123412(30)123421523
@string2 = (10)12313123123123(30)351(21)324FE324F
结果这两行是:
(column1) |s (column2) |ss
10 |s 123514512|ss
20 |s 123412 |ss
30 |s 123421523|ss
10 |s 12313123123123|ss
30 |s 351|ss
21 |s 324FE324F|ss
我尝试使用子字符串函数进行一些操作,但我不知道如何继续前进。有什么建议吗?非常感谢你的时间和智慧。
答案 0 :(得分:0)
PATINDEX可能就是你要找的东西。由于每个字符串中有多个模式实例,因此一种方法是使用while循环: 找到左括号的第一个实例,然后找到右括号的第一个实例,然后使用substring。将指针设置为该子字符串的长度。然后重复一遍。
用法:
select PATINDEX('%[(]%',colname) as indexOfOpen, PATINDEX('%[)]%',colname) as indexOfClose from table