Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Разбивка строки! Help плиз!!! / 8 сообщений из 8, страница 1 из 1
09.02.2004, 10:09
    #32402195
Tata_v
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
Пожалуйста, помогите.
Необходимо строку типа "12;46;ууу;fff;" разбить на
st1 | st2 | st3 | st4
--------------------
12 | 46 | ууу | fff
--------------------
т.е. должна получиться вот такая табличка...
Как это делается в Microsoft SQL Server в форуме есть описаловка, а как это сделать под Sybase?
...
Рейтинг: 0 / 0
09.02.2004, 10:19
    #32402216
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
авторКак это делается в Microsoft SQL Server в форуме есть описаловка, а как это сделать под Sybase?
Точно так же. Организуете временную табличку, организуете цикл, ищете разделитель, заносите каждое найденное значение в эту табличку.
...
Рейтинг: 0 / 0
09.02.2004, 10:35
    #32402245
Tata_v
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
не выходит, в частности, я пытаюсь использовать replace функцию, а обработчик так на нее ругается, как-будто в первый раз видит :(
...
Рейтинг: 0 / 0
09.02.2004, 10:36
    #32402249
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
Ты можешь использовать текстовый драйвер ODBC.

И закачать через него.
...
Рейтинг: 0 / 0
09.02.2004, 10:44
    #32402263
Tata_v
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
:) спасибо :) но дело в том, что я не могу его использовать, есть много причин, одна из них, что я не так хорошо пока могу использовать возможности sql...
Одним словом, я была бы немеренно признательна, если бы вы мне накидали примерчик запроса, как это возможно реализовать. ...пожалуйста
А то у меня скоро истерика случится.
...
Рейтинг: 0 / 0
09.02.2004, 12:04
    #32402426
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
авторне выходит, в частности, я пытаюсь использовать replace функцию, а обработчик так на нее ругается, как-будто в первый раз видит :(
Ну может быть для начала все таки нас просветите насчет того, на каком сервере Вы работаете и какой его билд ? А то как то странно - функция REPLACE есть во всех СУБД Sybase.

Ну и причины разбора строки неплохо бы узнать. Может быть можно обойтись и без разборов строки.
...
Рейтинг: 0 / 0
09.02.2004, 12:27
    #32402468
Tata_v
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
вот тип сервера:
Adaptive Server Enterprise/12.0.0.6/P/EBF 10395 ROLLUP/NT (IX86)/OS 4.0/1890/32bit/OPT/Fri Jul 26 01:42:03 2002
...
Рейтинг: 0 / 0
10.02.2004, 15:30
    #32404387
Ivvy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбивка строки! Help плиз!!!
Не совсем понял, что именно надобно в качестве примера, но...
Ниже приведена часть хранимой процедуры, разбирающая строку, состоящую из повторяющихся кусков вида ПАРАМЕТР=ЗНАЧЕНИЕ^, где ^ выполняет роль разделителя (правда, в данном случае она обязательна и в конце совокупной строки тоже).

/* НАЧАЛО РАЗБОРА ПОЛЯ INFO */
while @info != @workInfo
begin
select @length = char_length(@info)
/* определяем позицию первого вхождения разделителя (символ '^'), если не найдено, берем длину поля INFO */
select @position = case charindex('^',@info)
when 0 then @length
else charindex('^',@info)
end
if @position = @length
begin
select @workInfo = substring(@info,1,@position-1)
select @info = @workInfo
end
else
begin
select @workInfo = substring(@info,1,@position-1)
select @info = substring(@info,@position+1,@length)
end
/* присваиваем соответствующим переменным значения заданных в поле INFO параметров */
/* здесь некий код куска ... */
end
/* КОНЕЦ РАЗБОРА ПОЛЯ INFO */
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Разбивка строки! Help плиз!!! / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]