给定各个区域,将URL识别为主页

时间:2019-02-14 00:03:04

标签: sql amazon-redshift

我想将字符串标识为首页(而不是域中的辅助页面)。它需要能够处理首页URL的区域变化。我目前正在使用lengthsplit_part并选择返回零长度的那些字符,但是也许有更健壮和/或更有效的方法?

select length(split_part('http://home.com/','/',4)) ;            -- homepage yes
select length(split_part('http://home.co.uk/','/',4)) ;          -- homepage yes
select length(split_part('http://home.com/page2.html','/',4)) ;  -- homepage no

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式在Redshift中标识主页

select REGEXP_SUBSTR(your_url, '[^/]+\\.[^/:]+')

更新:

以下SQL将基于URL给出True或False,它可能并不比您拥有的更漂亮,但可以正常工作

SELECT CASE 
  WHEN POSITION('/' IN SUBSTRING(your_url,POSITION('/' IN your_url)+2,LENGTH(your_url)))
  THEN FALSE
  ELSE TRUE END