В SQL Server я очищаю строки для удаления сокращений в названии улицы:
-- Replace cl, cl., cl , with Close
SELECT @CleanedAddress = REPLACE(@CleanedAddress, 'cl', ' Close')
WHERE @CleanedAddress LIKE '% cl'
SELECT @CleanedAddress = REPLACE(@CleanedAddress, ' cl.', ' Close')
WHERE @CleanedAddress LIKE '% cl.'
SELECT @CleanedAddress = REPLACE(@CleanedAddress, ' cl ', ' Close ')
WHERE @CleanedAddress LIKE '% cl %'
SELECT @CleanedAddress = REPLACE(@CleanedAddress, ' cl. ', ' Close ')
WHERE @CleanedAddress LIKE '% cl. %'
Учитывая пример названия улицы 12 Closet Close, записанный как 12 Closet Cl
Я могу успешно сопоставить, используя следующее:
SELECT @CleanedAddress = REPLACE(@CleanedAddress, 'cl', ' Close')
WHERE @CleanedAddress LIKE '% cl'
Тем не менее, замена изменяет все вхождения 'cl', что приводит к 12 Closeoset Close
Как я могу заменить окончание "Cl" на "Закрыть", а не все вхождения "CL "и применить это для работы с тысячами строк, которые могут заканчиваться на" CL "?