Maison > Article > Opération et maintenance > Comment faire cette conversion dans Oracle
Oracle est un puissant système de gestion de bases de données relationnelles qui prend en charge plusieurs types de données, y compris les types binaires. Sous Oracle, il est souvent nécessaire de convertir des données binaires en nombres hexadécimaux. Cet article décrira comment effectuer cette conversion dans Oracle.
1. Utilisez la fonction TO_RAW pour convertir des données binaires en hexadécimal
Dans Oracle, vous pouvez utiliser la fonction TO_RAW pour convertir des données binaires en type RAW, puis utiliser la fonction RAWTOHEX pour convertir le type RAW en chaîne hexadécimale. Par exemple, l'instruction SQL suivante convertira les données binaires en hexadécimal :
SELECT RAWTOHEX(TO_RAW('Hello, World!')) as HEX_VALUE FROM DUAL;
Après avoir exécuté l'instruction SQL ci-dessus, vous obtiendrez le résultat suivant :
48454C4C4F2C20576F726C6421
Ce résultat consiste à convertir "Hello, World!" en valeur hexadécimale après.
2. Utilisez le package UTL_RAW pour convertir des données binaires en hexadécimal
En plus d'utiliser les fonctions TO_RAW et RAWTOHEX, Oracle fournit également le package UTL_RAW, qui peut plus facilement convertir des données binaires en hexadécimal.
Trois fonctions sont fournies dans le package UTL_RAW :
Par exemple, l'instruction SQL suivante utilise le package UTL_RAW pour convertir des données binaires en hexadécimal :
SELECT UTL_RAW.CAST_TO_RAW('Hello, World!') as RAW_VALUE, UTL_RAW.CAST_TO_RAW('Hello, World!') as HEX_VALUE from DUAL;
Après avoir exécuté l'instruction SQL ci-dessus, vous obtiendrez les résultats suivants :
48454C4C4F2C20576F726C6421,0x48454C4C4F2C20576F726C6421
Parmi eux, la colonne RAW_VALUE affiche le " Bonjour" , World!" est converti en type RAW ; la colonne HEX_VALUE affiche le résultat après conversion du type RAW en chaîne hexadécimale.
Il convient de noter que lors de l'utilisation du package UTL_RAW pour effectuer une conversion hexadécimale, les données d'entrée doivent être une chaîne hexadécimale avec un nombre pair de chiffres. Par exemple, l'instruction SQL suivante lèvera une exception :
SELECT UTL_RAW.HEX_TO_RAW('48454C4C4F2C20576F726C642') from DUAL;
car "48454C4C4F2C20576F726C642" est une chaîne hexadécimale avec des chiffres impairs. La bonne façon de l'écrire devrait être :
SELECT UTL_RAW.HEX_TO_RAW('48454C4C4F2C20576F726C6421') from DUAL;
3. Résumé
Il existe de nombreuses méthodes parmi lesquelles choisir pour convertir des données binaires en hexadécimal dans Oracle. Vous pouvez utiliser les fonctions TO_RAW et RAWTOHEX, ou vous pouvez utiliser les fonctions associées de. le package UTL_RAW. Quoi qu’il en soit, cette conversion peut être effectuée facilement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!