Oracle 11g R2 ne sait plus faire de l'algèbre de Boole ?
Je viens d'installer Oracle 11g R2 sur mon PC de développement.
J'ai dumpé la base d'un ERP pour pouvoir travailler en local.
Et je me suis rendu compte que nombre de fonctions ne marchaient plus du tout.
En creusant un peu, nombre de requête utilisant un "OR" font n'importe quoi.
Plutôt qu'un long discours, voici un exemple que vous pouvez aisément reproduire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
SQL*Plus: Release 11.2.0.1.0 Production on Ven. Juin 24 16:05:21 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Entrez le nom utilisateur : soc1
Entrez le mot de passe :
ConnectÚ Ó :
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from dual where dummy = 'X';
D
-
X
SQL> select * from dual where dummy >= to_char(sysdate, 'YYYYMMDD');
D
-
X
SQL> select *
2 from dual
3 where (dummy = 'X' or dummy >= to_char(sysdate, 'YYYYMMDD'));
D
-
X
SQL> select *
2 from dual
3 where (dummy = 'X' or dummy <= to_char(sysdate, 'YYYYMMDD'));
aucune ligne sÚlectionnÚe
SQL> |
Je ne comprends pas, à partir du moment où la première condition du OR de la quatrième requête est "true", comment ça peut ne rien retourner...
Y'a un paramètre à (dés)activer pour qu'Oracle sache faire de l'algèbre de Boole ?