![]() |
#1 |
Участник
|
Добрый день. Нужно переделать фильтр вида 'КОД1|КОД2|КОД3' в sql-ный вариант. Видел в нете одну написанную функцию, но уж больно она замудрена, кто-нибдуь сталкивался с такой задачей?
|
|
![]() |
#2 |
MCTS
|
Цитата:
|
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
@variable varchar(20) - название поля в Navision (напр-р, Location Code)
@cd varchar(250) - непосредственно фильтр (КОД1|КОД2|КОД3) |
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Участник
|
У меня условие следущего вида:
Код: ... WHERE t1.[Transfer-from Code] like isnull(nullif(@LocationCode,''),t1.[Transfer-from Code]) ... |
|
![]() |
#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, используйте '*'. |
|
![]() |
#8 |
Участник
|
Спасибо, попробую.
|
|