, так как вы используете varchar, просто сделайте это, чтобы получить код ascii для всех плохих символов
--identify the bad character
SELECT
COUNT(*) AS CountOf
,'>'+RIGHT(LTRIM(RTRIM(Address3)),1)+'<' AS LastChar_Display
,ASCII(RIGHT(LTRIM(RTRIM(Address3)),1)) AS LastChar_ASCII
FROM Company
GROUP BY RIGHT(LTRIM(RTRIM(Address3)),1)
ORDER BY 3 ASC
выполните одноразовое исправление данных, чтобы удалить поддельный символ, где xxxx - значение ASCIIкак указано в предыдущем, выберите:
--only one bad character found in previous query
UPDATE Company
SET Address3=REPLACE(Address3,CHAR(xxxx),'')
--multiple different bad characters found by previous query
UPDATE Company
SET Address3=REPLACE(REPLACE(Address3,CHAR(xxxx1),''),char(xxxx2),'')
, если в ваших данных есть поддельные символы, удаляйте их из данных, а не каждый раз, когда вы выбираете данные.вам нужно будет добавить эту логику ЗАМЕНА ко всем ВСТАВКАМ и ОБНОВЛЕНИЯМ в этом столбце, чтобы не допустить появления поддельных символов в новых данных.
Если вы не можете изменить данные, вы можете просто выбрать их таким образом:
SELECT
LTRIM(RTRIM(REPLACE(Address3,CHAR(xxxx),'')))
,LTRIM(RTRIM(REPLACE(REPLACE(Address3,CHAR(xxxx1),''),char(xxxx2),'')))
...