SQL Server:获取' ServicePassword ='之间的字符串的一部分和'&'在网址字符串

时间:2015-11-16 20:29:48

标签: sql-server database substring

我试图在存储在表格中的网址中获取服务密码。

示例:

Parameters=http://google.com?ServiceUN=testUN&ServicePW=testPW&RequestType=testrequestType&MemberCode=TestMemberCode

这就是我到目前为止的地方,子字符串函数中的9只用作测试长度,这是我遇到问题的部分。

SELECT 
    SUBSTRING(Parameters, 
              CHARINDEX('ServicePW=', Parameters) + LEN('ServicePW='), 9) 
FROM Table 
WHERE TestID = 8

2 个答案:

答案 0 :(得分:2)

SELECT
    substring(
        Parameters, 
        charindex('ServicePW=', Parameters) + 10, -- len('ServicePW=')
        charindex('&', substring(Parameters, charindex('ServicePW=', Parameters), len(Parameters))) - 11 -- (- len('ServicePW=') - 1)
    )
FROM
    Table 
WHERE 
    TestID = 8

答案 1 :(得分:0)

SELECT SUBSTRING(SUBSTRING(Parameters, PATINDEX('%ServicePW=%', Parameters), LEN(Parameters)), 11, PATINDEX('%&%', SUBSTRING(Parameters, PATINDEX('%ServicePW=%', Parameters), LEN(Parameters))) - 11)
FROM Table where TestID = 8