У меня есть задача завершить, где мне нужно импортировать около 970 000 пользователей из чужой базы данных в наш. В исходной БД есть поле номера телефона, содержащее несколько телефонных номеров, объединенных в одну отвратительную строку.MS SQL - Как извлечь номер телефона из длинной несогласованной строки
Вот некоторые примеры данных:
|Home: 555-555-5555 Office: (555)-555-5555 Work: 5555555555|
|Home: Office: 555\555-5555 Work: 555-555-5555|
|Office: 555-555-5555 Home: (555)555-5555 some Comment here|
Проблема, которые я бег в
- Порядок чисел противоречив
- Есть некоторые бесплатные текстовые комментарии валялись
- Некоторые номера телефонов имеют разное форматирование.
Я бы предпочел сделать это с помощью SQL, если это возможно, и я очень уверен, делая это эффективным образом с минимальной ручной настройкой.
В моей БД у нас есть отдельные столбцы для каждого типа номера телефона, поэтому мне в основном нужно разбить эти строки на соответствующие столбцы.
Скажите, пожалуйста, если я что-нибудь уберу.
я бы не сделать это в SQL. Я бы сделал приложение, которое извлекает данные, дезинфицирует его и сохраняет в правильной модели. Попытка решить его в SQL только потребовала бы столько же времени, сколько было бы «легко». –
Я полностью согласен с Аллан. Это будет ужасная боль в твоей ноу-хау, которую нужно делать в sql. –
Согласовано. Выберите подходящий инструмент для работы. Эта работа требует сильных функций обработки текста, и в целом соглашается, что инструменты обработки текста T-SQL являются одними из самых бедных. –