【发布时间】:2015-02-04 00:24:52
【问题描述】:
我有以下格式的字符串数据:
MODELNUMBER=Z12345&HELLOWORLD=WY554&GADTYPE=PLA&ID=Z-12345
/DTYPE=PLA&ID=S-10758&UN_JTT_REDIRECT=UN_JTT_IOSV
需要根据两个条件提取ID
- 在模式
&ID=之后开始 到最后一个字符为止或
如果遇到
&就停在那里。
所以在上面的例子中我使用了下面的代码:
SUBSTRING(MyCol,(PATINDEX('%&id=%',[MyCol])+4),(LEN(MyCol) - PATINDEX('%&id%',[MyCol])))
本质上是查看模式 &id=% 并在此之后提取字符串直到行尾。有人会建议如何处理逻辑的后半部分..
我目前的结果是
Z-12345
Z-12345&UN_JTT_REDIRECT=UN_JTT_IOSV
我需要的是
Z-12345
Z-12345
【问题讨论】:
-
这个
S-15229是否总是7 个字符 -
“我需要的是”部分中的第二行是否应=“S-10758”?目前两条线的值相同“Z-12345”。
标签: sql-server regex