Я должен удалить следующее из поля адреса.Найти и заменить строку на сервере sql 2005
- Замените все слова, названные «плоскими» на пустое место, также удалите число, которое приходит вместе с ним.
eg. У меня слово называется «Flat 234 5th Street».
Его следует заменить на 5-ю улицу.
Я дал запрос в
select
ltrim(rtrim(substring ('Flat 123 5th Street', charindex('Flat ','Flat 123 5th Street') + 5, len ('Flat 123 5th Street'))))
Он вернулся
123 5th Street
Теперь я должен найти ли до следующего появления пространства, у меня есть числовое значение или нет.
Если числовое, то удалите его, иначе оставьте его.
Может кто-нибудь помочь пожалуйста.
С уважением, Хема
Да Marc_S, я должен был сделать это (под редакцией). Я не могу делать ни на одном другом языке. Предполагается делать только в T-SQL.
Hi LittleBobbyTales, спасибо за ответ. На самом деле это не стандартный формат, я мог бы только Flat 123
или Flat 123 пятого 1st Street Main Road
или первый Main Flat 1
Там нет правила, что мы будем иметь 1 номер или 2 числа после слова Flat. Возможно, что номера могут быть или не быть.
Это может быть в любом случае.
Если вы разместите код или XML, ** пожалуйста ** выделить эти строки в текстовом редакторе и нажмите на кнопку «код» (101 010) на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис! –
Звучит как идеальное совпадение для регулярного выражения - к сожалению, язык запросов SQL-SQL T-SQL на самом деле не очень силен при сопоставлении строк/регулярных выражений. Вы бы лучше сделали это на традиционном языке программирования, таком как C# или что-то ... –
Согласитесь с marc_s, но из любопытства вы можете привести больше примеров полей адресов, которые нужно проанализировать? – LittleBobbyTables