我有一些数字营销网址。这些URL具有参数,因此我想解析URL并插入表。对于跟踪活动和分析。
例如:
https://www.example.com/?utm_source=google&utm_medium=blabla&utm_campaign=gameuser&utm_term=winwin&utm_content=takego
我想要这样插入表格。我该怎么办?
答案 0 :(得分:0)
理想情况下,您将在存储过程中执行此操作,以便将工作分成几小块。您可以在1条SQL语句中完成所有操作,但是当您到达最后几个参数时,它变得有些噩梦!
基本方法是结合使用CHARINDEX和SUBSTRING来解析URL ...找到第一个?然后从那里拿到第一个&(然后在=的这边分开),然后找到下一个&(由=分开),然后冲洗并重复。
我已经为您开始了此过程-您应该可以扩展此过程以从URL中获取其余参数-有点慢且笨拙,但至少您可以看到发生了什么事
运行这段SQL,您很快就会知道:
declare @str VARCHAR(8000)= 'https://www.example.com/?utm_source=google&utm_medium=blabla&utm_campaign=gameuser&utm_term=winwin&utm_content=takego'
DECLARE @str1 VARCHAR(8000)= SUBSTRING(@str, CHARINDEX( '?',@str, 1)+1, CHARINDEX( '&',@str, 1) -CHARINDEX( '?',@str, 1)-1)
SELECT SUBSTRING(@str1, 1, CHARINDEX( '=',@str1, 1)-1)
SELECT SUBSTRING(@str1, CHARINDEX( '=',@str1, 1)+1, LEN(@Str1))
DECLARE @str2 VARCHAR(8000) = SUBSTRING(@str, CHARINDEX( '?',@str, 1) + len(@str1) + 2, LEN(@str))
SELECT @str2 = SUBSTRING(@str2, 1, CHARINDEX( '&',@str2, 1)-1)
SELECT @str2