Welche Alternativen gibt es, um die folgende Abfrage zu implementieren:
select *
from table
where isExternal = @type = 2 ? 1 : 0
Welche Alternativen gibt es, um die folgende Abfrage zu implementieren:
select *
from table
where isExternal = @type = 2 ? 1 : 0
Antworten:
In SQL Server 2012 können Sie die folgende IIF
Funktion verwenden :
SELECT *
FROM table
WHERE isExternal = IIF(@type = 2, 1, 0)
Beachten Sie auch: In T-SQL ist der Zuweisungs- (und Vergleichs-) Operator nur =
(und nicht ==
- das ist C #).
BETWEEN
Operator ist so definiert, dass er drei Argumente akzeptiert. Was Sie gesucht haben, war ein bedingter Operator - der zufällig der einzige Operator ist, der drei Argumente akzeptiert, die von den meisten Sprachen definiert wurden.