Как добавить «/» в конце пути URL? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть несколько URL в моем столбце URL.

www.quick.com/tea
www.quick.com/tea/green
www.quick.com/tea/green/strong
www.quick.com/tea/black/
www.quick.com/tea/black/light/

Мне нужно добавить "/" в конце каждого URL, который не заканчивается на "/", и мне нужно получить все URL вупомянутая колонка.Но это не вернет все данные.Может ли кто-нибудь помочь мне получить правильные данные.

select concat(url,'/') as url
from table1
RIGHT(url, 1) != '/'

Ответы [ 2 ]

2 голосов
/ 06 мая 2019

Использование case логика:

select (case when url like '%/' then url else url || '/' end) as new_url
0 голосов
/ 06 мая 2019

Вы можете использовать функции decode и nvl2 вместе

with t(url) as
(
 select 'www.quick.com/tea' from dual union all
 select 'www.quick.com/tea/black/light/' from dual union all
 select null from dual   
)    
select nvl2(substr(url,-1),decode(substr(url,-1),'/',url,url||'/'),url) as new_url
  from t;

NEW_URL
------------------------------
www.quick.com/tea/
www.quick.com/tea/black/light/
/

Демо

nvl2 применяется против существования нулевых URL. В противном случае для получения столбца new_url достаточно использовать decode(substr(url,-1),'/',url,url||'/').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...