Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите разобрать строчку  [new]
user87
Member

Откуда:
Сообщений: 257
Добрый день.

Помогите, пожалуйста, разобрать строку

Создал табличную переменную

declare @p4 dbo.Filter
insert into @p4 values('StartDate','2014-08-24,')

В эту переменную мне могут передать как две даты, так и по отдельности
Например
insert into @p4 values('StartDate','2014-08-24,2014-09-24')
insert into @p4 values('StartDate', ',2014-09-24')


Хотел бы на выходе получить, если обе даты есть, то вывести каждую дату в отдельном столбце, это я смог сделать
select left(Value,10),right(Value,10) from ....

Но как только мне присылают даты по отдельности, то что-то голова никак не может сообразить

Начал делать слеюущим образом, но не могу до конца довести
Сперва нахожу позицию запятой
select charindex(',',Value)FROM ....

Потом хочу выбрать записи до этой зпаятой, если ее нет то null, если есть то взять ее
Далее выбираю записи, которые находятся дальше этой запятой по аналогичной схеме.

Подскажите, пожалуйста, что это за функция может сделать, нет ли примера
1 сен 14, 14:25    [16519823]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобрать строчку  [new]
Glory
Member

Откуда:
Сообщений: 104751
user87
Подскажите, пожалуйста, что это за функция может сделать

CASE WHEN ... THEN ... ELSE ... END
1 сен 14, 14:28    [16519838]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобрать строчку  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Сделать dbo.Filter о трех столбцах и не мучиться...
1 сен 14, 15:05    [16520077]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобрать строчку  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
user87,

declare @s varchar (255)

select @s = ',2014-09-24'

select nullif(substring(@s, 1, charindex(',', @s) - 1), ''), nullif(substring(@s,  charindex(',', @s) +  1, len(@s)), '') 
1 сен 14, 15:07    [16520082]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобрать строчку  [new]
_djХомяГ
Guest
если версия сервера позволяет можно и так
парсинг строки
1 сен 14, 15:09    [16520099]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобрать строчку  [new]
user87
Member

Откуда:
Сообщений: 257
Спасибо большое Всем.
1 сен 14, 15:11    [16520105]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить