Как разделить почтовый адрес в SQL Server Management Studio - PullRequest
0 голосов
/ 27 мая 2020

У меня есть столбец с почтовым адресом. Ниже приведены несколько примеров того, каким может быть этот адрес.

Вопрос: как мне разбить это на отдельные столбцы для str_number, str_prefix (может или не может существовать), Str_Name (может быть одно или несколько слов), str_type, str_suffix (может существовать, а может и не существовать).

Я не уверен, возможно ли это в SQL, где некоторых значений нет, но я подумал, что проверю. Большое спасибо за любую помощь.

  • 123 N Main ST E
  • 456 Bear Creek AVE W
  • 789 N Rose LN
  • 234 E Deer Run Ln

Ответы [ 2 ]

4 голосов
/ 27 мая 2020

Вы не можете сделать это надежно, поскольку существует слишком много вариантов форматирования, сокращения адресов и т. Д. c. См. ложь, в которую верят программисты об адресах .

Было бы гораздо лучше написать / найти приложение, которое отправляет каждый адрес в службу (API), которая затем может выполнять поиск по базе данных известных адресов и вернуть составляющие компоненты в структурированном формате, а затем вставить эти «очищенные» данные в соответствующие поля базы данных.

0 голосов
/ 08 июля 2020

Компания, в которой я работаю, делает инструмент для этой цели - YAddress .

Он поставляется с определяемой пользователем функцией для SQL сервера, который можно вызывать напрямую из SQL запросы, пакеты ETL и т. д. c. Это функция с табличным значением. Он принимает почтовый адрес в качестве входных данных и возвращает компоненты адреса в виде столбцов выходной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...