03.07.2009, 10:34 | #1 |
Участник
|
Добрый день. Нужно переделать фильтр вида 'КОД1|КОД2|КОД3' в sql-ный вариант. Видел в нете одну написанную функцию, но уж больно она замудрена, кто-нибдуь сталкивался с такой задачей?
|
|
03.07.2009, 10:49 | #2 |
MCTS
|
Цитата:
|
|
03.07.2009, 10:51 | #3 |
Участник
|
|
|
03.07.2009, 11:30 | #4 |
Участник
|
@variable varchar(20) - название поля в Navision (напр-р, Location Code)
@cd varchar(250) - непосредственно фильтр (КОД1|КОД2|КОД3) |
|
03.07.2009, 15:21 | #5 |
Участник
|
|
|
03.07.2009, 15:41 | #6 |
Участник
|
У меня условие следущего вида:
Код: ... WHERE t1.[Transfer-from Code] like isnull(nullif(@LocationCode,''),t1.[Transfer-from Code]) ... |
|
08.07.2009, 11:26 | #7 |
Участник
|
Если не ошибаюсь, то фильтр Navision "Transfer-from Code" = 'КОД1|КОД2|КОД3' v SQL соответствует WHERE "Transfer-from Code" ='KOD1' OR "Transfer-from Code" ='KOD2' OR "Transfer-from Code" ='KOD3', что собственно и возвращает функция, напр-р, SELECT dbo.Fn_Filter_Convert('Transfer-from Code','KOD1|KOD2|KOD3')
Из Navision нужно передавать все необходимые фильтры. Если нужен LIKE, используйте '*'. |
|
09.07.2009, 14:13 | #8 |
Участник
|
Спасибо, попробую.
|
|