8
votes

Utilisation de SELECT pour une évaluation booléenne simple

Je veux tester certaines évaluations sans travailler sur une table. Par exemple, vous pouvez écrire

SELECT 2 > 1
>FALSE


1 commentaires

Oh combien je souhaite que SQL ait eu un type booléen ...


6 Réponses :


16
votes
SELECT CASE WHEN 2 > 1 THEN 'True' ELSE 'False' END

0 commentaires

5
votes
SELECT
  CASE
    WHEN 2 > 1 THEN 1
    ELSE 0
  END

0 commentaires

4
votes
SELECT CASE WHEN 2 > 1 THEN cast(0 as bit) ELSE cast(1 as bit) END

0 commentaires

3
votes

EDIT: strong>

SQL Server 2012 (Denali): P>

SELECT IIF(2 > 1, 'TRUE', 'FALSE')


2 commentaires

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.



1
votes

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>


0 commentaires

0
votes

Utilisez simplement:

SELECT 1 < 2 # returns 1
  • Mariadb 10.1 Li>
  • MYSQL 5.7 (PARCONA XTRADB Cluster) LI> ul> p>


0 commentaires