根据你的评论,你正在处理一个单一的域名,所以你可以使用它来分裂/解析你的网址。
检查内部cte的部分结果以验证最终结果。
SQL DEMO
WITH ini_setup as (
SELECT *,
CHARINDEX('blahblah.com', [url]) as domain_char_start,
len('blahblah.com') as domain_length
FROM Table1
),
middle_setup as (
SELECT [url],
SUBSTRING ([url] , 1, domain_char_start - 1) as pre_domain,
'blahblah.com' as domain,
SUBSTRING ([url] ,
domain_char_start + domain_length +1,
len([url])) as post_domain
FROM ini_setup
),
final_setup as (
SELECT *,
PATINDEX('%[.?/]%', post_domain) as action_end
FROM middle_setup
)
SELECT [url], [pre_domain], [domain], [action_end],
CASE WHEN [action_end] = 0 THEN [post_domain]
ELSE SUBSTRING ([post_domain], 1, [action_end] -1)
END as action,
CASE WHEN [action_end] = 0 THEN ''
ELSE SUBSTRING ([post_domain], [action_end], len([post_domain]))
END as post_action
FROM final_setup
输出
我们展示样本数据和预期的结果。你试过什么查询?我可以理解前4项是相同的,但为什么项目4和5被认为是相同的? –
您可以在SQL中或在您的SSRS数据集的计算字段中编写函数,该函数将“blahblah.com”拉出并使用它进行分组。接下来的问题是你想如何显示它?哪一个是所需的URL格式? – StevenWhite
@JuanCarlosOropeza,4和5是相同的,因为大多数查询字符串在这一点上对我们的目的并不重要。有一个url在查询字符串很重要,但我需要分别处理。 –