Quelles sont les alternatives pour implémenter la requête suivante:
select *
from table
where isExternal = @type = 2 ? 1 : 0
sql-server
tsql
Anthony
la source
la source
BETWEEN
opérateur est défini pour prendre trois arguments. Ce que vous recherchiez était un opérateur conditionnel - qui se trouve être le seul opérateur défini pour prendre trois arguments définis par la plupart des langues.Réponses:
Utilisez
case
:la source
Dans SQL Server 2012 , vous pouvez utiliser la
IIF
fonction :Notez également: dans T-SQL, l'opérateur d'affectation (et de comparaison) est juste
=
(et non==
- c'est C #)la source