Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
adimmat Member Откуда: Таджикистан Сообщений: 180 |
Добрый день, друзья! У меня такая ситуация: В БД есть таблица, в ней записи, очень много записей (от 80 до 200 строк). Есть атрибут в этой таблице, называется "FullAddress". Содержимое этого атрибута, почти схожие, т.е содержимое этого атрибута в каждой строке имеет след. вид: "Россия(страна). Москва(город). Метрогородок(район). Ленина(улица)" "Россия. Москва. Метрогородок. Пушкина" "Россия. Москва. Метрогородок. Ломоносова" "Россия. Москва. Метрогородок. Лермонтова" Как видите, отличаются, только, названия улиц, все остальное, (страна, город, район) остается неизменным. Вопрос такой, я хочу написать процедуру, с помощью которой можно привести содержимое этого атрибута таблицы в след. вид: "Россия.город Москва.район Метрогородок.улица Ленина" "Россия.город Москва.район Метрогородок.улица Пушкина" "Россия.город Москва.район Метрогородок.улица Лермонтова" "Россия.город Москва.район Метрогородок.улица Ломоносова" Подскажите пожалуйста, как мне это сделать или направьте меня в правильном направлении! Спасибо!!! |
4 июн 14, 13:39 [16118814] Ответить | Цитировать Сообщить модератору |
TempFox
Guest |
Функции CHARINDEX и SUBSTRING. |
4 июн 14, 13:44 [16118871] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И где же в символьной строке произвольной длины начинается "название улицы" ? А "страна, город, район" ? |
||
4 июн 14, 13:46 [16118887] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
Говнокод:SELECT PARSENAME('Россия. Москва. Метрогородок. Лермонтова',4)+'.город' +PARSENAME('Россия. Москва. Метрогородок. Лермонтова',3)+'.район' +PARSENAME('Россия. Москва. Метрогородок. Лермонтова',2)+'.улица' +PARSENAME('Россия. Москва. Метрогородок. Лермонтова',1); |
4 июн 14, 13:54 [16118976] Ответить | Цитировать Сообщить модератору |
adimmat Member Откуда: Таджикистан Сообщений: 180 |
Glory, название улицы самое последнее, перед ним район, перед районом город, и в самом начале Страна |
4 июн 14, 14:01 [16119023] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Последнее от чего ?
И где заканчивается "страна" ? |
||||
4 июн 14, 14:04 [16119047] Ответить | Цитировать Сообщить модератору |
adimmat Member Откуда: Таджикистан Сообщений: 180 |
Glory, "." (точки) и указывает конец. Россия. Москва. Метрогородок. Ленина. |
4 июн 14, 14:09 [16119088] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8301 |
adimmat, сначала нормализуйте данные с использованием какого-либо парсера строк. Парсеры поищите по конференции. |
4 июн 14, 14:15 [16119144] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну так и выберите подстроку до нужной по счету точки и замените. |
||
4 июн 14, 14:19 [16119168] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |