Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

без sp_executeSQL не обойтись? [D7, MSSQL]


Страницы:   1 2

interbase ©   (2008-12-24 16:13:00) 

Всем доброго времени суток!

есть процедурка(MS SQL Server 2005):

CREATE PROCEDURE aaa(@a VARCHAR(1000))
AS
BEGIN
 SELECT *
   FROM table
  WHERE id IN (@a)
END

вызов execute aaa '1,2,3,4'

так не работает... не ругается, но и не делает выборку. Без executeSQL никак?


sniknik   (2008-12-24 16:34:00) [21]

можно и не окружать, а использовать charindex вместо, но вот добавить в искомое запятую и ее же добавить к конце строки необходимо... иначе с такой например строкой '1,22,33,4' будут нежелательные результаты в виде 2, 3.


Медвежонок Пятачок   (2008-12-24 16:30:00) [22]

ну блин, сказал же что там просто идея.


Медвежонок Пятачок   (2008-12-24 16:29:00) [23]

лучше все айди не просто кастить а приклеивать слева справа загогулины.
для случая вроде такого
id = 1
@a = '11,12,12'


Johnmen   (2008-12-24 16:29:00) [24]


> Медвежонок Пятачок ©   (24.12.08 16:27) [5]

Чему соответствует x в вопросе автора?
И как быть с id=7 и @a='33,77'?


interbase   (2008-12-24 16:28:00) [25]


> Медвежонок Пятачок ©   (24.12.08 16:19) [1]

спасибки! Тока %-тами надо окружить.


Медвежонок Пятачок   (2008-12-24 16:27:00) [26]

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


Johnmen   (2008-12-24 16:26:00) [27]


> Медвежонок Пятачок ©   (24.12.08 16:19) [1]

А что такое x?


Медвежонок Пятачок   (2008-12-24 16:22:00) [28]

ну да. там просто общая идея как наколоть судьбу


Ega23   (2008-12-24 16:22:00) [29]


> cast(id as varchar)


Я не знаю как в 2005, но я бы добавил cast(id as varchar( max))
В 2000 это воспринималось по-умолчанию как varchar(32)


Медвежонок Пятачок   (2008-12-24 16:19:00) [30]

where patindex(cast(id as varchar),@a) > x


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо