Определите URL как домашнюю страницу, учитывая различные регионы - PullRequest
0 голосов
/ 14 февраля 2019

Я хотел бы идентифицировать строку как домашнюю страницу (в отличие от дополнительной страницы в домене).Он должен уметь обрабатывать региональные различия в URL-адресах домашней страницы.В настоящее время я использую length и split_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 голосов
/ 14 февраля 2019

Вы можете использовать следующее регулярное выражение для определения домашних страниц в Redshift.

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

Обновление:

Следующий SQL даст вам True или False на основе URL, он может быть не более красивым, чемчто у тебя есть но работает

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