salut tout le monde
si qlq1 pe m'aider , g besoin d'integer un XOR dans ma requete pour extraire des informations , alors celui ci ne marche pas sous oracle .
exite il un equivalent
merci
salut tout le monde
si qlq1 pe m'aider , g besoin d'integer un XOR dans ma requete pour extraire des informations , alors celui ci ne marche pas sous oracle .
exite il un equivalent
merci
merci pour cette solution mais, S'il vous plait si vous voulez bien me donner plus de détails
merci
un truc de ce style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ... INTO ... FROM ... IF SQL%ROWCOUNT = 0 THEN SELECT ... INTO ... FROM ... END IF;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 WITH t AS (SELECT 0 AS n1, 0 AS n2 FROM dual UNION ALL SELECT 0 AS n1, 1 AS n2 FROM dual UNION ALL SELECT 1 AS n1, 1 AS n2 FROM dual UNION ALL SELECT 1 AS n1, 0 AS n2 FROM dual) SELECT n1, n2, ABS(n1-n2) xor1, CASE WHEN (n1 = 1 OR n2 = 1) AND n1 <> n2 THEN 1 ELSE 0 END AS xor2 FROM t N1 N2 XOR1 XOR2 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1
pour calculer 13 xor 14 tu peux faire
voire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select utl_raw.cast_to_binary_integer( utl_raw.bit_xor( utl_raw.cast_from_binary_integer(13), utl_raw.cast_from_binary_integer(14))) from dual; 3
quant au XOR logique, il existe en plsql mais pas en sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select 13+14-2*bitand(13,14) from dual;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SQL> exec if xor(true,false) then dbms_output.put_line('!'); end if !
Il existe la fonction non documentée SYS_OP_VECXOR, elle est utilisée pour écrire le noyau Oracle. Ce qui veut dire qu'elle peut disparaitre d'une version à une autre mais elle est plus rapide que les autres functions.
IL existent d'autres fonctions cachés de la famille SYS_OP_...... comme :
SYS_OP_VECOR
SYS_OP_VECAND
SYS_OP_VECBIT
SYS_OP_NUMTORAW, etc
Il y'a eu deja une discussion sur ces fonctions :ICI
Partager