ASCII |
ASCII |
|---|---|
| Oracle Database SQL | Oracle 7 ou supérieure |
Syntaxe
| ASCII(Caractère) |
Paramètres
| Nom | Description |
|---|---|
| Caractère | Ce paramètre permet d'indiquer la caractère avec lequel il faut trouver une correspondance dans la table ASCII. |
Retour
| Valeur | Description |
|---|---|
| NULL | Cette valeur permet d'indiquer que le paramètre a une valeur nulle. |
| 0 | Cette valeur permet d'indiquer que la chaîne de caractères est vide. |
| 1 à 255 | Ces valeurs permettent d'indiquer le code ASCII correspondant. |
Description
Cette fonction retourne le numéro du code ASCII du caractère spécifié.
Remarques
- Retourne le code ASCII d'un caractère unique : La fonction ASCII(caractère) renvoie un entier compris entre 1 et 255 correspondant à la valeur ASCII du premier caractère fourni. Elle est très utile pour des traitements bas niveau sur des chaînes, comme des classements ou validations.
- Ne traite que le premier caractère de la chaîne : Si le paramètre passé contient plusieurs caractères, ASCII n'analyse que le premier. Par exemple, ASCII('ABC') retournera 65, étant le code ASCII du caractère 'A'. Cela doit être pris en compte pour éviter les erreurs de logique dans les expressions.
- Renvoie NULL si l'entrée est NULL : Lorsque l'argument est explicitement NULL, la fonction retourne également NULL, ce qui respecte la logique SQL classique. Cela permet de l'utiliser en toute sécurité dans des expressions conditionnelles ou des CASE.
- Renvoie 0 si la chaîne est vide : Une chaîne vide ('') donne le résultat 0, ce qui est un cas particulier souvent ignoré. Ce comportement est utile pour distinguer une chaîne vide d'un caractère valide, mais peut porter à confusion s'il n'est pas documenté.
- Utile pour des contrôles de conformité de saisie : La fonction peut être utilisée pour valider que certains caractères sont autorisés dans des champs texte. Par exemple, on peut vérifier qu'un caractère est bien alphabétique, numérique ou qu'il ne dépasse pas un certain code ASCII.
- Particulièrement utile dans les fonctions de tri personnalisé : Dans certaines requêtes où un ordre spécifique doit être imposé, ASCII permet d'extraire les codes numériques des lettres pour les comparer manuellement ou définir des ordres lexicographiques personnalisés.
- Insensible à la casse pour la valeur retournée : Même si les lettres minuscules et majuscules ont des codes ASCII différents (ASCII('A') = 65 vs ASCII('a') = 97), cette distinction peut être ignorée dans des traitements spécifiques en utilisant UPPER() ou LOWER() avant ASCII().
- Fonction complémentaire de CHR() : ASCII() a pour fonction inverse CHR(), retournant le caractère correspondant à un code ASCII donné. Ensemble, elles permettent de convertir dynamiquement des caractères vers et depuis leurs représentations numériques.
Exemple
Voici un exemple montrant le valeur correspondance au début et la fin de l'alphabet en majuscule :
on obtiendra le résultat suivant :
| ASCII('A') | ASCII('Z') |
| 65 | 90 |
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015