SQL: удалите часть строки из всех записей, возвращаемых инструкцией SELECT

ниже приведен оператор select, который возвращает все URL-адреса, содержащие %20 (пробел) в конце:

select * from Table1 where Column1 like '%%20'

Как '%20 ' удалить из всех этих URL-адресов с помощью SQL?

Edit 1:

есть ли способ, чтобы удалить '%20 'только если он найден в конце URL (сохранение всех других экземпляров на'%20' в URL)?

3 ответов


Это просто. Я предполагаю, что вы используете Microsoft SQL Server. Попробуйте следующее:

 Select SUBSTRING(Column1,  0, Len(Column1) - 2) As Column1, Column2 
 From Table1 where Column1 like '%[%]20'

выше я выбрал Column1, и %20 будет удален из конца Column1 и выбранного Column2. Можно выбрать все столбцы.


  Select REPLACE(Column1,'%20','') From Table1 where Column1 like '%%20'

вы можете вырезать поле, удалив последние 3 символа, если поле содержит "%20":

select SUBSTR(Column1 ,0,LENGTH(Column1)-3 ) from Table1 where Column1 like '%%20'