soumyaraj Ответов: 2

Where if @param1 <>0 left(value1, 4)=@param1 в противном случае не выполняйте эту часть в условии where


Привет,
where if @param1 <>0   left(value1,4)=@param1
в противном случае не выполняйте эту часть в условии where
Как написать запрос?

Soumya

Что я уже пробовал:

where LEFT(ISNULL(value1, 0000), 4) =

CASE
WHEN @param1 <> 0 THEN CAST(@param1 AS NVARCHAR(12))
END	


Но это не будет выполняться, если
@param1
=0

2 Ответов

Рейтинг:
6

Suvendu Shekhar Giri

Попробуйте следовать-

WHERE (@param1 == 0) OR (LEFT(ISNULL(value1, 0000), 4) =@param1)


Логично или делает трюк здесь. Когда значение @param1 равно 0, он не будет выполнять вторую часть.

Надеюсь, это поможет :)
Пожалуйста, дайте мне знать, если это не поможет.


soumyaraj

Да, это работает!
Спасибо Вам за вашу помощь

Suvendu Shekhar Giri

Рад, что это помогло! :)

Рейтинг:
0

itsmypassion

WHERE ((@PARAM1<>0 AND left(value1,4)=@param1) OR @PARAM1= 0)