Décomposition d'Oracle

Decomposition D Oracle



Unicode est l'une des normes d'encodage les plus influentes et les plus puissantes dans le monde du développement. Unicode représente les caractères de presque toutes les langues en codant les caractères dans un code entier compris entre 0 et 0x10ffff.

En raison de la polyvalence des bases de données, vous vous retrouverez de temps en temps à convertir une chaîne en sa représentation Unicode.







Dans ce didacticiel, vous apprendrez à utiliser la fonction decompose() des bases de données Oracle pour convertir une donnée en sa représentation Unicode.



Syntaxe de la fonction de décomposition Oracle

La syntaxe de la fonction est comme indiqué ci-dessous :



DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )

La fonction accepte deux arguments :





  1. Chaîne de caractères – ceci représente la chaîne à convertir en composition Unicode. La valeur de ce paramètre peut être CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB et NCLOB.
  2. CANONIQUE – définir la valeur sur canonique permet à la fonction d'effectuer une décomposition canonique qui permet une recomposition dans la chaîne d'origine. S'il n'est pas spécifié, la fonction utilisera ce paramètre par défaut.
  3. COMPATIBILITÉ – si la valeur est définie sur compatibilité, la fonction effectuera la décomposition en mode compatibilité. Ce mode ne permet pas la recomposition sur la chaîne d'origine. Utilisez cette option lors de la décomposition de caractères katakana demi-chasse et pleine chasse.

Il est bon de garder à l'esprit que les types CLOB et NCLOB sont pris en charge via une conversion explicite.

Exemple d'utilisation de la fonction

Les exemples suivants montrent comment utiliser la fonction decompose() des bases de données Oracle.



Exemple 1 – Utilisation des fonctions de base

Le code simple suivant montre comment utiliser la fonction de décomposition pour décomposer une chaîne en sa représentation Unicode.

select decompose('Hello') comme sortie de dual ;

L'exécution du code ci-dessus doit renvoyer la chaîne de sortie sous la forme :

Exemple 2 – Obtenir le code ASCII

Pour récupérer les valeurs entières Unicode, nous pouvons passer la chaîne résultante à la fonction asciistr comme indiqué dans l'exemple ci-dessous :

select asciistr(decompose('你好')) comme sortie de dual ;

Production:

Exemple 3 - Utilisation de la fonction avec des caractères non Unicode

Si nous fournissons la fonction avec des caractères non Unicode, la fonction renverra la chaîne d'entrée sans aucune modification.

Un exemple de démonstration est comme indiqué :

sélectionnez decompose('l') comme sortie de dual ;

Résultat:

Le même cas s'applique même lors de l'utilisation de la fonction asciistr.

sélectionnez asciistr(('l')) comme sortie de dual ;

Production:

Exemple 4 - Utilisation de la fonction avec l'argument NULL

La fonction renverra une valeur NULL si la valeur d'entrée est NULL.

Exemple:

sélectionnez (NULL) comme sortie de dual ;

Production:

Exemple 5 - Appel de la fonction avec des paramètres manquants

Le paramètre de chaîne dans la fonction est obligatoire. Par conséquent, si nous ne parvenons pas à transmettre la valeur de chaîne, la fonction renverra une erreur comme indiqué :

sélectionnez () comme sortie de dual ;

Résultat:

Erreur SQL : ORA-00938 : pas assez d'arguments pour la fonction
00938. 00000 -  'pas assez d'arguments pour la fonction'

Conclusion

Dans ce didacticiel, vous avez appris à utiliser la fonction decompose() d'Oracle pour convertir une chaîne en sa représentation Unicode.