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

Откуда:
Сообщений: 336
В MSSQL 2008 R2 есть таблица
create table myTable ([id] int identity(1,1), [Name] varchar(255))

Нужна функция, в которую передаётся @IDs (список [id] через запятую), на выходе - строки, удовлетворяющие условию. Вот так:
select * from dbo.GetIDs('1,5,9,11,3,2')


Что-то вроде этого, только рабочее :)
create function dbo.GetIDs (@IDs varchar(100))
returns table
return select * from myTable where [id] in (@IDs)
8 май 16, 14:13    [19147841]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать табличную функцию, если это возможно  [new]
LoopN
Guest
declare @IDs nvarchar(max)='1,5,9,11,3,2';
declare @xml xml ='<r>'+REPLACE(@IDs,',','</r><r>')+'</r>'
select a.b.value('(text())[1]', 'int') from @xml.nodes('/r') a(b)
8 май 16, 14:23    [19147856]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать табличную функцию, если это возможно  [new]
=Сергей=
Member

Откуда:
Сообщений: 336
LoopN, а как это поможет?
8 май 16, 14:33    [19147871]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать табличную функцию, если это возможно  [new]
iljy
Member

Откуда:
Сообщений: 8711
=Сергей=,

а вы запустите и посмотрите
8 май 16, 14:38    [19147879]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать табличную функцию, если это возможно  [new]
=Сергей=
Member

Откуда:
Сообщений: 336
LoopN, интересное решение, СПАСИБО!!!
8 май 16, 14:48    [19147891]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать табличную функцию, если это возможно  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Функция, которая делит строку на слова
8 май 16, 16:11    [19148000]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить