OU X
La fonction XOR renvoie une chaîne correspondant au XOR logique des chaînes d'argument. Cette fonction prend la première chaîne d'arguments, effectue une opération XOR avec la chaîne suivante, puis continue à effectuer des opérations XOR pour chaque argument successif en utilisant le résultat précédent. Si un argument de chaîne de caractères est plus court que le résultat précédent, il est rempli avec des blancs. Si un argument de chaîne binaire est plus court que le résultat précédent, il est complété par des zéros hexadécimaux.
Les arguments doivent être compatibles.
- expression
- Expression qui renvoie une valeur d'un type de données numérique ou chaîne intégré, mais qui ne peut pas être un objet LOB. Les arguments ne peuvent pas être des chaînes de caractères de données mixtes, des chaînes de caractères UTF-8 ou des chaînes graphiques. Un argument numérique est transtypé en chaîne de caractères avant d'évaluer la fonction. Pour plus d'informations sur la conversion d'une valeur numérique en chaîne de caractères, voir VARCHAR.
Les arguments sont convertis, si nécessaire, en attributs du résultat. Ces derniers sont définis comme suit :
- Si tous les arguments sont des chaînes de longueur fixe, le résultat est une chaîne de longueur fixe de longueur n, où n est la longueur de l'argument le plus long.
- Si un argument est une chaîne de longueur variable, le résultat est une chaîne de longueur variable avec l'attribut de longueur n, où n est l'attribut de longueur de l'argument avec l'attribut de longueur la plus élevée. La longueur réelle du résultat est m, où m est la longueur réelle de l'argument le plus long.
Si un argument peut être null, le résultat peut être null ; si un argument est null, le résultat est la valeur null.
Le CCSID du résultat est 65535.
Exemple
- Supposons que la variable hôte L1 soit une variable hôte CHARACTER(2) dont la valeur est X'E1E1', variable hôte L2 soit une variable hôte CHARACTER(3) dont la valeur est X'F0F000', et que la variable hôte L3 soit une variable hôte CHARACTER(4) dont la valeur est X'0000000F'
Renvoie la valeur X'1111404F'SELECT XOR(:L1,:L2,:L3) FROM SYSIBM.SYSDUMMY1
