Je veux tester certaines évaluations sans travailler sur une table. Par exemple, vous pouvez écrire
SELECT 2 > 1 >FALSE
6 Réponses :
SELECT CASE WHEN 2 > 1 THEN 'True' ELSE 'False' END
SELECT
CASE
WHEN 2 > 1 THEN 1
ELSE 0
END
SELECT CASE WHEN 2 > 1 THEN cast(0 as bit) ELSE cast(1 as bit) END
SQL Server 2012 (Denali): P> SELECT IIF(2 > 1, 'TRUE', 'FALSE')
J'aimerais beaucoup cette solution, mais cela ne semble pas fonctionner sur mon SQL Server 2008
Ma faute, c'est à partir de 2012: - /, je suis en train de lire à ce sujet hier ( DENALI - Fonction logique - iIF () - une introduction rapide ) et j'ai oublié la version.
dans MySQL et Oracle et apparemment SQL-Server, vous pouvez utiliser nullif code> (ignorer le à partir de double code> pour SQL-Server) afin de supposer que vous prenez null aussi vrai que vous peut traiter des tests d'égalité de cette façon sans une déclaration de cas désordonnée ni avoir à traiter des chaînes. SQL> select nullif(1,0) from dual;
NULLIF(1,0)
-----------
1
SQL> select nullif(1,1) from dual;
NULLIF(1,1)
-----------
SQL>
Utilisez simplement:
SELECT 1 < 2 # returns 1
Oh combien je souhaite que SQL ait eu un type booléen ...