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

Откуда:
Сообщений: 71
Здравствуйте!
В функции есть переменная
@strnum = '1,2,3,4,5'

Нужно сделать такой запрос:
select * from dual d where d.id in (@strnum)

Как можно такое реализовать?
22 окт 14, 16:27    [16744298]     Ответить | Цитировать Сообщить модератору
 Re: where in из текстовой переменной, где значения разделены запятой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Pessimus
Как можно такое реализовать?

Именно так и именно в функции - никак не реализовать.
22 окт 14, 16:29    [16744318]     Ответить | Цитировать Сообщить модератору
 Re: where in из текстовой переменной, где значения разделены запятой  [new]
Pessimus
Member

Откуда:
Сообщений: 71
упс пардон. Я все нашла. Вот статейка https://www.sql.ru/articles/mssql/03060701arraysandlistsinsqlserver.shtml
22 окт 14, 16:47    [16744446]     Ответить | Цитировать Сообщить модератору
 Re: where in из текстовой переменной, где значения разделены запятой  [new]
VGalamakh
Member

Откуда: Киев (Альба)
Сообщений: 66
Похоже на одно и то же задание.
[url=]https://www.sql.ru/forum/1120028/pomogite-s-sintaksisom-where-in[/url]
И к тому же снова девушка интересуется.
22 окт 14, 17:03    [16744568]     Ответить | Цитировать Сообщить модератору
 Re: where in из текстовой переменной, где значения разделены запятой  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
declare @strnum varchar(max) = '1,2,3,4,5'

select * from dual d where d.id in ( SELECT id FROM
			( SELECT CAST('<A>'+ REPLACE(@strnum,',','</A><A>')+ '</A>' AS XML) AS xml_string ) string_as_xml_table
			  CROSS APPLY
			( SELECT t.value('.', 'int') AS id FROM xml_string.nodes('/A') AS x(t) ) parsed_result )
GO
22 окт 14, 17:42    [16744783]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить