Как перебрать строку!?Помогите, плиз!

Tauras
Дата: 12.01.2001 14:39:49
Есть строка типа 34.89;23.78;56; и т.д. Разделитель ";". В курсоре хочу перебрать значения из этой строки, но че-то запутался со стринговыми функциями. У кого была аналогичная ситуации ,посоветуйте что-то.Заранее спасибо!
Oleg F
Дата: 12.01.2001 14:54:08
Советую почитать внимательно документацию на функции CHARINDEX и SUBSTRING. Другие строковые функции в данном случае не нужны.
Tauras
Дата: 12.01.2001 15:17:05
Нельзя бы с конкретным примером?
AnKa
Дата: 12.01.2001 15:58:25
А вот его пилотка!
------------------

DECLARE @Str char(255)
DECLARE @I int

SET @Str='34.89;23.78;56;'
SET @I=0;

WHILE LTRIM(@Str)<>''
BEGIN
SET @I=CHARINDEX(';',@Str)
PRINT SUBSTRING(@Str,1,@I-1)
SET @Str=SUBSTRING(@Str,@I+1,255)
END

-------------------------------------

34.89
23.78
56

Желаю удачи! И, к стати, со Старым Новым Годом!
SergSuper
Дата: 12.01.2001 16:20:44
Как-то тут был предложен довольно красивый метод, может подойдет. Суть в том, что разбирать ничего не нужно.

declare @s varchar(200),@ss varchar(200)
select @s='34.89;23.78;56'

create table #t(c varchar(50))

select @ss='insert #t select "'+replace(@s, ';', '" insert #t select "')+'"'
exec(@ss)

В результате мы получим таблицу с нужными значениями