Привет, у меня есть строка llike,
"01-15-09 с коэффициентом 0,8"
Я хотел отделить эту строку следующим образом,
1] дата как 01-15-09 2] Коэффициент 0,8
ПРИМЕЧАНИЕ: длина строки не фиксирована.
так как мы можем отделить данные в виде # 1 & #2?
Для получения даты вы можете использовать PATINDEX().
PATINDEX()
declare @yourString varchar(100) set @yourString = 'on 01-15-09 with a factor of 0.8' select substring(@yourString, patindex('%[0-9][0-9]-[0-9][0-9]-[0-9][0-9]%', @yourString), 8)
Чтобы получить «фактор хх», вы можете сделать:
select substring(@yourString, patindex('%with a%', @yourString) + 7, 20)
declare @txt varchar(max) set @txt = 'on 01-15-09 witha factor of 0.8' select cast(substring(@txt, patindex('% [0-9][1-9]-%', @txt), 9) as date) [date], cast(right(@txt, patindex('%_ %', reverse(@txt))) as decimal(9,1)) Factor
Результат:
date Factor ---------- ------ 2009-01-15 0.8