Jakie są alternatywy dla zaimplementowania następującego zapytania:
select *
from table
where isExternal = @type = 2 ? 1 : 0
Jakie są alternatywy dla zaimplementowania następującego zapytania:
select *
from table
where isExternal = @type = 2 ? 1 : 0
Odpowiedzi:
W SQL Server 2012 można użyć IIFfunkcji :
SELECT *
FROM table
WHERE isExternal = IIF(@type = 2, 1, 0)
Uwaga: w T-SQL operator przypisania (i porównania) jest po prostu =(a nie ==- to jest C #)
BETWEENOperator definiuje wziąć trzy argumenty. Czego szukali był warunkowy operatora - co zdarza się być jedynym operatorem zdefiniowane wziąć trzy argumenty zdefiniowane przez większość języków.