Подтвердить что ты не робот

Удаление определенных символов из строки

Я пытаюсь удалить определенные символы.

В настоящий момент у меня есть вывод как cityname district, но я хочу удалить cityname.

SELECT Ort FROM dbo.tblOrtsteileGeo
WHERE GKZ = '06440004'

Вывод:

Büdingen Aulendiebach
Büdingen Büches
Büdingen Calbach
Büdingen Diebach
Büdingen Dudenrod
Büdingen Düdelsheim

Требуемый вывод:

Aulendiebach
Büches
Calbach
Diebach
Dudenrod
Düdelsheim
4b9b3361

Ответ 1

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

REPLACE ('Your String with cityname here', 'cityname', 'xyz')
--Results
'Your String with xyz here'

Если вы примените это к столбцу таблицы, где stringColumnName, cityName both are columns of YourTable

SELECT REPLACE(stringColumnName, cityName, '')
FROM YourTable

Или, если вы хотите удалить строку 'cityName' из строки put из столбца, тогда

SELECT REPLACE(stringColumnName, 'cityName', '')
FROM yourTable

РЕДАКТИРОВАТЬ:. Теперь, когда вы указали более подробную информацию, функция Replace не является лучшим методом для сортировки вашей проблемы. Следующим является другой способ сделать это. Также @MartinSmith дал хороший ответ. Теперь у вас есть выбор, чтобы выбрать еще раз.

SELECT RIGHT (O.Ort, LEN(O.Ort) - LEN(C.CityName)-1) As WithoutCityName
FROM   tblOrtsteileGeo O
       JOIN dbo.Cities C
         ON C.foo = O.foo
WHERE  O.GKZ = '06440004'

Ответ 2

Одна проблема с REPLACE будет состоять в том, что названия городов содержат название района. Вы можете использовать что-то вроде.

SELECT SUBSTRING(O.Ort, LEN(C.CityName) + 2, 8000)
FROM   dbo.tblOrtsteileGeo O
       JOIN dbo.Cities C
         ON C.foo = O.foo
WHERE  O.GKZ = '06440004' 

Ответ 3

UPDATE yourtable 
SET field_or_column =REPLACE ('current string','findpattern', 'replacepattern') 
WHERE 1