Serra
Дата: 24.01.2009 19:06:31
Добрый вечер!
Есть таблица вида:
ID |ABONENT |ADR
1 |ИВАНОВ СЕРГЕЙ ПЕТРОВИЧ/*/ООО "СТАВРИНТРАНС" |МОСКВА, УЛ. АМУРСКАЯ, Д.124, 25/*/СТАВРОПОЛЬ, УЛ. ДЕКАБРИСТОВ, Д.54
2 |ПЕТРОВ АНДРЕЙ ВАСИЛЬЕВИЧ/*/ЧП "ПЕРЕВОЗЧИК" |ВОРОНЕЖ, УЛ. КИРОВА, Д.12, 125/*/СТАВРОПОЛЬ, ПЛ. ВОССТАНИЯ, Д.54
3 |СИДОРОВ ИВАН ИВАНОВИЧ/*/ДАНКОВА СВЕТЛАНА ИВАНОВНА |ИРКУТСК, УЛ. ПРЯНОВА, Д.4, 53/*/ИРКУТСК, УЛ. ЛИПОВАЯ, Д.12, ОФ.256
Нужно ее привести к виду:
ID |ABONENT |CLIENT |ADR |ADR_CL
1 |ИВАНОВ СЕРГЕЙ ПЕТРОВИЧ |ООО "СТАВРИНТРАНС" |МОСКВА, УЛ. АМУРСКАЯ, Д.124, 25| СТАВРОПОЛЬ, УЛ. ДЕКАБРИСТОВ, Д.54
2 |ПЕТРОВ АНДРЕЙ ВАСИЛЬЕВИЧ |ЧП "ПЕРЕВОЗЧИК" |ВОРОНЕЖ, УЛ. КИРОВА, Д.12, 125 |СТАВРОПОЛЬ, ПЛ. ВОССТАНИЯ, Д.54
3 |СИДОРОВ ИВАН ИВАНОВИЧ |ДАНКОВА СВЕТЛАНА ИВАНОВНА |ИРКУТСК, УЛ. ПРЯНОВА, Д.4, 53 |ИРКУТСК, УЛ. ЛИПОВАЯ, Д.12, ОФ.256
т.е. по сути дела разделить значения поля на два (используя разделитель /*/) и вставить эти значения в два разных поля...
Не хотелось бы делать это в цикле т.к. записей очень много, а составить действенный алгоритм никак не смогла...
Всем спасибо...
aleks2
Дата: 25.01.2009 11:16:03
select id
, LEFT(ABONENT,CHARINDEX('/*/', ABONENT)-1) ABONENT1
, SUBSTRING(ABONENT,CHARINDEX('/*/', ABONENT)+3, 8000) ABONENT2,
...
FROM [Есть таблица вида] T