SQL
От: puma777  
Дата: 26.10.12 11:58
Оценка:
Здрасте всем. Я тут новичёк, как и на работе — 2. месяц практика.

Возник такой вопрос:
у меня есть таблица, где мне надо изменить, вернее разбить колонку на 4 других. Работаю с Microsoft Manegment Studio, SQL.

В колонке инфо: 120067978§WA7721012§SR27000B.2§AI13§SP11
разделена знаком §

1. колонку заполнила вот так: UPDATE DBName
SET MaterialNumber = RIGHT(SerialNumber, 31)
GO

а дальше — стопор

Надеюсь кто-то поможет! Спасибки


26.10.12 16:21: Перенесено модератором из 'Политика' — VladD2
sql microsoft manegment studio
Re: SQL
От: puma777  
Дата: 26.10.12 12:19
Оценка:
Здравствуйте, puma777, Вы писали:

P>Здрасте всем. Я тут новичёк, как и на работе — 2. месяц практика.


ой, не в тот форум поставила.
Кто подскажет как перенести?
Re[2]: SQL
От: Аноним  
Дата: 26.10.12 12:53
Оценка:
BOL в помощь

Даю подсказку! Твоя функция на S начинается, а на G заканчивается...
Re[3]: SQL
От: snowman7  
Дата: 26.10.12 13:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Даю подсказку! Твоя функция на S начинается, а на G заканчивается...


А та, что на X заканчивается, так же не повредит в случае переменной длины секций.
Re[3]: SQL
От: puma777  
Дата: 26.10.12 13:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>BOL в помощь


А>Даю подсказку! Твоя функция на S начинается, а на G заканчивается...



SUBSTRING ?!
а дальше?
Re[4]: SQL
От: Аноним  
Дата: 26.10.12 14:07
Оценка:
Обрати внимание на следующий парадокс:
SELECT RIGHT(SerialNumber, 31) , SUBSTRING(SerialNumber, 10, 31) FROM DBName

и решение придет само собой
Re: SQL
От: puma777  
Дата: 26.10.12 14:11
Оценка:
и так, мои достижения: могу записать 1 колонку, остаток переношу на другую, и заполняю последнюю колонку, а как выбрать середину — не понятно.
Проблема: цепочка не стандартизированна — у некоторых есть пробел, некоторые длинее и т.п.

Нужно после 2.§ занести в определённую колонку — именно 120067978§WA7721012§SR27000B.2§AI13§SP11 нужен SR27000B.2
НО не каждая цепочка начинается с этих букв, и есть такие, которые заканчиваются числом, а есть — точкой.

THANKS
Re[2]: SQL
От: LuciferArh Россия  
Дата: 26.10.12 14:24
Оценка:
Здравствуйте, puma777, Вы писали:

P>и так, мои достижения: могу записать 1 колонку, остаток переношу на другую, и заполняю последнюю колонку, а как выбрать середину — не понятно.

P>Проблема: цепочка не стандартизированна — у некоторых есть пробел, некоторые длинее и т.п.

P>Нужно после 2.§ занести в определённую колонку — именно 120067978§WA7721012§SR27000B.2§AI13§SP11 нужен SR27000B.2

P>НО не каждая цепочка начинается с этих букв, и есть такие, которые заканчиваются числом, а есть — точкой.

Если части того, что нужно поделить, гарантированно разделены символом "§", то функция CHARINDEX() спасет отца русской демократии.
... << RSDN@Home 1.2.0 alpha 5 rev. 43>>
Re[3]: SQL
От: puma777  
Дата: 29.10.12 10:48
Оценка:
Здравствуйте, вceм писали:

спасибо за помощь,
с CHARINDEX() получается — нужно только WHILE-LOOPS встроить .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.