SQL - удалить завершающий/в URL-адресе с помощью строки запроса

У меня есть таблица с двумя столбцами, в одном из которых хранится URL-адрес.

Теперь мне нужно обновить таблицу, чтобы удалить все конечные косые черты из URL-адресов, включая URL-адреса, содержащие строку запроса.

Примеры:

/page/sub/1/             =>    /page/sub/1
/page/sub/1/?page=1      =>    /page/sub/1?page=1

Я нашел, как это сделать для завершающей косой черты, но не тогда, когда она находится внутри URL-адреса.

UPDATE TABLE 
SET MyUrl = LEFT(MyUrl, LEN(MyUrl) - 1) 
WHERE RIGHT(MyUrl, 1) = '/';

Кто-нибудь знает, как это сделать? Могу ли я использовать какое-то регулярное выражение?


person RubenHerman    schedule 17.05.2019    source источник
comment
Извините, забыл упомянуть... SQL Server   -  person RubenHerman    schedule 17.05.2019


Ответы (1)


UPDATE TABLE SET MyUrl = replace(MyUrl, '/?', '?') WHERE MyUrl like '%/?%';

Рабочий SQLFiddle

person TheWildHealer    schedule 17.05.2019